Из чего состоит HTTP-запрос

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

Ответ

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

  1. Стартовая строка (Request Line):

    • Метод: GET, POST, PUT, DELETE и др.
    • Путь (URI): /api/v1/users или /index.html.
    • Версия протокола: HTTP/1.1 или HTTP/2.

    Формат: METHOD URI HTTP/VERSION

  2. Заголовки (Headers): Мета-информация для клиента и сервера.

    • Обязательные: Host.
    • Описательные: User-Agent, Accept, Content-Type.
    • Управляющие: Cache-Control, Authorization.
  3. Тело запроса (Body): Опционально. Используется для передачи данных в методах POST, PUT.

Пример полного POST-запроса:

POST /api/deploy HTTP/1.1
Host: ci.company.com
User-Agent: curl/7.68.0
Authorization: Bearer eyJhbGciOiJIUzI1NiIs...
Content-Type: application/json
Content-Length: 52

{"image": "app:v1.2.3", "environment": "staging"}

С точки зрения DevOps: Понимание структуры HTTP-запроса критично для настройки веб-серверов (Nginx/Apache), балансировщиков нагрузки (HAProxy) и анализа логов и метрик в инструментах мониторинга.

Видео-ответы