Какая структура у HTTP ответа

«Какая структура у HTTP ответа» — вопрос из категории Архитектура, который задают на 10% собеседований Frontend Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

HTTP ответ состоит из:

  1. Строка статуса - версия протокола, код статуса и его описание:
HTTP/1.1 200 OK
  1. Заголовки (Headers) - метаданные ответа в формате ключ: значение:
Content-Type: text/html; charset=UTF-8
Cache-Control: no-cache
  1. Тело ответа (Body) - данные, которые сервер отправляет клиенту (может отсутствовать):
<!DOCTYPE html>
<html>
  <body>Hello World</body>
</html>

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

HTTP/1.1 200 OK
Content-Type: application/json
Date: Mon, 27 Mar 2023 12:00:00 GMT

{"message": "Success"}

Заголовки и тело разделяются пустой строкой. Коды статусов бывают: 1xx (информационные), 2xx (успех), 3xx (перенаправления), 4xx (ошибка клиента), 5xx (ошибка сервера).