Ответ
Стандартный HTTP-ответ, который сервер отправляет клиенту, состоит из трех основных компонентов, разделенных специальными символами возврата каретки и перевода строки (CRLF
).
1. Стартовая строка (Status Line)
Содержит результат обработки запроса и состоит из трех частей:
- Версия протокола: Например,
HTTP/1.1
илиHTTP/2
. - Код состояния (Status Code): Числовой код, отражающий результат (e.g.,
200
,404
,500
). - Пояснение (Reason Phrase): Краткое текстовое описание кода (e.g.,
OK
,Not Found
).
Пример: HTTP/1.1 200 OK
2. Заголовки (Headers)
Пары ключ: значение
, которые передают метаинформацию об ответе и его теле. Ключевые заголовки:
Content-Type
: MIME-тип ресурса в теле ответа (e.g.,application/json
,text/html
).Content-Length
: Размер тела ответа в байтах.Cache-Control
: Инструкции по кэшированию ответа браузером или прокси-сервером.Set-Cookie
: Устанавливает cookie на стороне клиента.
3. Тело ответа (Message Body)
Необязательная часть, содержащая сам ресурс (HTML-страница, JSON-объект, изображение). Отделяется от заголовков одной пустой строкой (CRLF
).
Пример полного HTTP-ответа с JSON-телом:
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Content-Length: 38
Date: Mon, 23 Oct 2023 10:00:00 GMT
Connection: keep-alive
{
"userId": 1,
"status": "active"
}