Вопрос проверяет базовое понимание сетевого взаимодействия и структуры HTTP-протокола.
HTTP-запрос состоит из стартовой строки, заголовков и тела. Стартовая строка определяет тип запроса и адрес ресурса. Заголовки описывают параметры запроса и данные о клиенте. Тело запроса используется для передачи данных на сервер. Некоторые HTTP-методы могут не содержать тела.
HTTP-запрос — это структурированное сообщение, которое клиент отправляет серверу для выполнения операции.
HTTP-запрос — это сообщение, отправляемое клиентом серверу по протоколу HTTP, содержащее инструкции о том, какое действие необходимо выполнить над ресурсом.
Любой HTTP-запрос логически состоит из трёх основных частей:
стартовая строка (Request Line)
заголовки (Headers)
тело запроса (Body)
Каждая часть выполняет свою роль и используется сервером при обработке запроса.
Стартовая строка всегда идёт первой и содержит базовую информацию о запросе.
Она состоит из:
HTTP-метода
пути к ресурсу
версии протокола
Пример:
GET /users/42 HTTP/1.1
Где:
GET — метод
/users/42 — путь
HTTP/1.1 — версия протокола
После стартовой строки идут заголовки запроса.
Они передают серверу дополнительную информацию о запросе и клиенте.
Заголовки используются для:
указания формата данных
передачи токена авторизации
управления кэшированием
описания клиента
Пример:
Content-Type: application/json
Authorization: Bearer token
Accept-Language: en-US
Заголовки не содержат бизнес-данных, а только метаинформацию.
Тело запроса используется для передачи данных на сервер.
Оно присутствует не во всех запросах.
Тело чаще всего используется в:
POST
PUT
PATCH
Пример тела:
{
"name": "John",
"email": "john@example.com"
}
Важно понимать:
GET обычно не содержит body
наличие body зависит от метода и назначения запроса
В HTTP-запросе:
body может отсутствовать
заголовки могут быть минимальными
стартовая строка присутствует всегда
POST /login HTTP/1.1
Content-Type: application/json
Authorization: Bearer token
{
"email": "user@mail.com",
"password": "123456"
}
Понимание структуры HTTP-запроса необходимо для:
работы с URLRequest
отладки сетевых проблем
корректной настройки заголовков
понимания backend-ошибок
HTTP-запрос всегда состоит из стартовой строки, заголовков и, при необходимости, тела. Чёткое понимание структуры запроса позволяет уверенно работать с сетью, правильно формировать запросы и быстрее находить ошибки при интеграции с API.