Заголовки та методи HTTP: Вступ до HTTP

pic

HTTP (HyperText Transfer Protocol) є основою для передачі даних в Інтернеті. Він визначає, як структуруються і передаються запити та відповіді між клієнтами (наприклад, браузерами) та серверами.

У цій статті ми розглянемо два важливі компоненти HTTP:

  • HTTP методи: Визначають тип операції, яку потрібно виконати.
  • HTTP заголовки: Містять додаткові метадані про запит чи відповідь.

■ HTTP методи

HTTP методи визначають дію, яку клієнт хоче виконати з ресурсом. Нижче наведено найбільш використовувані методи:

1. GET

  • Мета: Отримати інформацію з сервера.
  • Особливості:
    Безпечний та ідемпотентний (повторні запити дають той самий результат).
    Не має тіла запиту; параметри передаються у рядку запиту URL.
  • Приклад:
GET /api/users?name=JohnDoe HTTP/1.1  
Host: example.com  
Server Response:http  

HTTP/1.1 200 OK  
Content-Type: application/json{  
 "id": 1,  
 "name": "John Doe"  
}

2. POST

  • Мета: Надіслати дані для обробки на вказаний ресурс (наприклад, створення нових записів).
    Особливості:
  • Не ідемпотентний (повторні запити можуть створити кілька ресурсів).
    Дані передаються в тілі запиту.
  • Приклад:
httpPOST /api/users HTTP/1.1  
Host: example.com  
Content-Type: application/json{  
 "name": "Jane Doe",  
 "email": "[email protected]"  
}
Server Response:http  
Copy code  
HTTP/1.1 201 Created  
Location: /api/users/2

3. PUT

  • Мета: Оновити ресурс або створити його, якщо він не існує.
  • Особливості: Ідемпотентний.
  • Приклад:
PUT /api/users/2 HTTP/1.1  
Host: example.com  
Content-Type: application/json{  
 "name": "Jane Doe Updated"  
}

4. DELETE

  • Мета: Видалити ресурс з сервера.
  • Особливості: Ідемпотентний.
  • Приклад:

http

DELETE /api/users/2 HTTP/1.1  
Host: example.com

5. HEAD

  • Мета: Схоже на GET, але лише отримує заголовки без тіла відповіді.
  • Приклад:

http

HEAD /api/users HTTP/1.1  
Host: example.com

6. OPTIONS

  • Мета: Описує варіанти комунікації з ресурсом.
  • Приклад:

http

OPTIONS /api/users HTTP/1.1  
Host: example.com
Server Response: http  
Allow: GET, POST, PUT, DELETE

7. PATCH

  • Мета: Частково оновити ресурс.
  • Приклад:

http

PATCH /api/users/2 HTTP/1.1  
Host: example.com  
Content-Type: application/json{  
 "email": "[email protected]"  
}  
HTTP Заголовки

■ HTTP заголовки містять інформацію про запит чи відповідь. Вони поділяються на:

1. Загальні заголовки

Надають інформацію про запит або відповідь, не пов'язану з конкретним вмістом.

  • Приклад:

http

Date: Fri, 13 Jan 2025 10:00:00 GMT  
Connection: keep-alive

2. Заголовки запиту

Містять метадані про клієнта або запит.

● Загальні заголовки:

  • Host: Визначає домен сервера.
  • User-Agent: Надає інформацію про клієнтське програмне забезпечення.
  • Accept: Вказує типи медіа, які клієнт може обробляти.
  • Приклад:

http

Host: example.com  
User-Agent: Mozilla/5.0 (Windows NT 10.0)  
Accept: application/json

3. Заголовки відповіді

Надають інформацію про сервер та повернений ресурс.

  • Загальні заголовки:
    Server: Визначає програмне забезпечення сервера.
  • Content-Type: Вказує формат тіла відповіді.
  • Приклад:

http

Server: Apache/2.4.46 (Ubuntu)  
Content-Type: application/json

4.

■ Заголовки сутностей

Надають інформацію про вміст ресурсу.

  • Загальні заголовки:
    Content-Length: Розмір тіла відповіді в байтах.
    Content-Encoding: Вказує, яке стиснення використовувалося для ресурсу.
  • Приклад:

http

Content-Length: 348  
Content-Encoding: gzip
  • Практичний приклад

Ось повний приклад HTTP запиту та відповіді:

  • Запит:
http  

POST /api/login HTTP/1.1  
Host: example.com  
Content-Type: application/json  
Content-Length: 58{  
 "username": "johndoe",  
 "password": "12345"  
}
  • Відповідь:
http  

HTTP/1.1 200 OK  
Content-Type: application/json  
Set-Cookie: sessionId=abc123; Path=/; HttpOnly{  
 "message": "Login successful",  
 "userId": 1  
}

Висновок

Розуміння HTTP заголовків та методів є важливим для розробників та усіх, хто працює з веб-технологіями. Вони є основою комунікації між клієнтами та серверами, що дозволяє виконувати все — від простого завантаження веб-сторінок до складних API взаємодій. Правильне використання цих елементів може оптимізувати продуктивність додатків, підвищити безпеку та покращити досвід користувачів.

Перекладено з: The HTTP Headers and Methods: Introduction to HTTP

Leave a Reply

Your email address will not be published. Required fields are marked *