Из каких основных частей состоит HTTP-ответ?

«Из каких основных частей состоит HTTP-ответ?» — вопрос из категории HTTP и веб-протоколы, который задают на 10% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

HTTP-ответ состоит из трёх основных частей:

  1. Строка статуса (Status Line)

    • Формат: HTTP-Version Status-Code Reason-Phrase
    • Пример: HTTP/1.1 200 OK или HTTP/2 404 Not Found
  2. Заголовки (Headers)

    • Метаданные ответа в формате Key: Value.
    • Ключевые заголовки:
      • Content-Type — тип данных в теле (например, application/json).
      • Content-Length — размер тела в байтах.
      • Set-Cookie — установка cookies на клиенте.
      • Cache-Control — директивы кэширования.
  3. Тело ответа (Body)

    • Опциональная часть, содержащая полезные данные (HTML, JSON, изображение и т.д.).
    • Отделяется от заголовков пустой строкой.

Пример полного ответа:

HTTP/1.1 201 Created
Content-Type: application/json
Content-Length: 42
Location: /api/users/123

{"id": 123, "username": "john_doe"}