Какой формат протокола у HTTP/1.1

«Какой формат протокола у HTTP/1.1» — вопрос из категории Сети, который задают на 23% собеседований Golang Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

HTTP/1.1 использует текстовый (ASCII) формат протокола. Сообщения состоят из:

  • Заголовка запроса/ответа (стартовая строка + заголовки)
  • Тела (опционально, отделяется пустой строкой)

Пример запроса:

GET /index.html HTTP/1.1
Host: example.com
User-Agent: Go-http-client/1.1
Accept: */*

Пример ответа:

HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 1234

<html>...</html>

Ключевые особенности:

  • Текстовый формат (читаем человеком)
  • Поддерживает persistent-соединения
  • Обязательный заголовок Host
  • Чувствителен к порядку заголовков