Back to questions
Junior — Middle
86
Из каких компонентов состоит HTTP-запрос и как они взаимодействуют?
Answer from AI
sobes.tech AI
HTTP-запрос состоит из нескольких основных компонентов:
-
Стартовая строка (Request Line) — содержит метод запроса (GET, POST и т.д.), URL и версию протокола HTTP.
-
Заголовки (Headers) — набор пар ключ-значение, которые передают метаинформацию о запросе, например
Content-Type,Authorization,User-Agent. -
Тело запроса (Body) — необязательная часть, содержащая данные, которые клиент отправляет серверу (например, данные формы или JSON при POST).
-
Пустая строка — разделяет заголовки и тело.
Взаимодействие компонентов:
- Клиент формирует стартовую строку с нужным методом и URL.
- Добавляет необходимые заголовки для описания запроса.
- При необходимости добавляет тело с данными.
- Отправляет запрос серверу.
Пример HTTP-запроса:
POST /api/users HTTP/1.1
Host: example.com
Content-Type: application/json
Authorization: Bearer token123
{"name": "John", "age": 30}
В Node.js для обработки HTTP-запросов используются объекты IncomingMessage (для запроса) и ServerResponse (для ответа), которые позволяют читать стартовую строку, заголовки и тело запроса.