Ответ
HTTP-запрос, передаваемый от клиента к серверу, состоит из стартовой строки, заголовков и опционального тела.
Структура запроса:
-
Стартовая строка (Request Line)
- Метод HTTP (например,
GET,POST). - Путь к ресурсу (URI) (например,
/api/v1/users). - Версия протокола (например,
HTTP/1.1илиHTTP/2).
Пример:
GET /api/v1/users HTTP/1.1 - Метод HTTP (например,
-
Заголовки (Headers)
- Общие заголовки:
Host,User-Agent. - Заголовки запроса:
Authorization,Accept,Content-Type. - Заголовки тела:
Content-Length,Content-Encoding.
- Общие заголовки:
-
Тело запроса (Body)
- Присутствует у методов
POST,PUT,PATCH. - Содержит данные в формате, указанном в
Content-Type(JSON, XML, form-data).
- Присутствует у методов
Полный пример запроса:
POST /api/v1/users HTTP/1.1
Host: api.example.com
Content-Type: application/json
Authorization: Bearer token123
Content-Length: 56
{"name": "Alice", "email": "alice@example.com"}
Ключевой принцип: Запрос содержит что сделать (метод и URI), как обработать (заголовки) и данные (тело). Ответ сервера имеет аналогичную структуру с кодом состояния.