Парсер HTTP-сообщений

Разбор и проверка HTTP/1.x и HTTP/2 сообщений, включая запросы, ответы и подробный вывод curl. Просмотр заголовков, кодов статуса и тел в структурированном формате. Поддержка автоматического определения типа тела для содержимого JSON, HTML и XML.

Спецификации

Типичные сценарии использования

  • Отладка HTTP-запросов из вкладки Network браузера
  • Анализ ответов API
  • Разбор вывода curl -v для устранения неполадок
  • Проверка полезных нагрузок вебхуков
  • Просмотр HTTP-заголовков для анализа безопасности

Возможности

  • Разбор HTTP/1.x и HTTP/2 запросов и ответов
  • Разбор формата подробного вывода curl -v
  • Отображение кодов статуса с цветовой кодировкой по категориям (2xx, 3xx, 4xx, 5xx)
  • Раздельные заголовки запроса и ответа для вывода curl
  • Автоматическое определение типа содержимого тела (JSON, HTML, XML)
  • Динамический рендеринг инструмента для тела (ленивая загрузка JSONTool, HTMLTool и др. для содержимого тела)
  • Сворачивание/разворачивание секций тела
  • Копирование заголовков или тела в буфер обмена

Примеры

HTTP GET-запрос

Попробовать →

Простой GET-запрос с заголовками

GET /api/users HTTP/1.1
Host: example.com
Accept: application/json
Authorization: Bearer token123

Ответ 200 OK с JSON-телом

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 27

{"name":"John","age":30}

Вывод curl -v

Попробовать →

Подробный вывод curl с запросом и ответом

* Trying 93.184.216.34:443...
* Connected to example.com
> GET /api HTTP/1.1
> Host: example.com
> Accept: */*
>
< HTTP/1.1 200 OK
< Content-Type: application/json
<
{"status":"ok"}

Советы

  • Вставьте вывод curl -v напрямую — заголовки запроса и ответа разбираются отдельно.
  • Нажмите «Декодировать как JSON/HTML/XML» для передачи тела в соответствующий декодер.
  • Коды статуса имеют цветовую кодировку: зелёный (2xx), синий (3xx), жёлтый (4xx), красный (5xx).

Описание Парсер HTTP-сообщений

HTTP-сообщения — это фундаментальные единицы коммуникации в протоколе передачи гипертекста. Каждое взаимодействие между веб-клиентом и сервером состоит из сообщения запроса и сообщения ответа. Понимание их структуры необходимо для отладки API, анализа сетевого трафика и создания веб-сервисов.

HTTP-запрос начинается со строки запроса, содержащей метод (GET, POST, PUT, DELETE), целевой путь и версию протокола. За ней следуют поля заголовков (пары ключ-значение), пустая строка и необязательное тело. Метод указывает на предполагаемое действие: GET извлекает данные, POST отправляет данные, PUT заменяет ресурс, DELETE удаляет его, а PATCH частично обновляет.

HTTP-ответ начинается со строки статуса, содержащей версию протокола, трёхзначный код статуса и пояснение. Коды статуса сгруппированы по классам: 2xx — успех (200 OK, 201 Created), 3xx — перенаправление (301 Moved, 304 Not Modified), 4xx — ошибки клиента (400 Bad Request, 401 Unauthorized, 404 Not Found) и 5xx — ошибки сервера (500 Internal Server Error, 502 Bad Gateway).

Команда curl с флагом -v (verbose) выводит и запрос, и ответ в характерном формате, используя > для отправленных данных и < для полученных. Этот формат вывода — один из наиболее распространённых способов, которыми разработчики сталкиваются с сырыми HTTP-сообщениями, что делает разбор вывода curl -v важной возможностью отладки.

HTTP/1.1 — текстовый протокол, отправляющий один запрос на TCP-соединение за раз (конвейеризация существует, но плохо поддерживается). HTTP/2 — двоичный протокол, мультиплексирующий несколько запросов через одно соединение, поддерживающий серверный push и сжимающий заголовки с помощью HPACK. HTTP/2 значительно снижает задержку для современных веб-сайтов. Семантика — методы, коды статуса и заголовки — остаётся одинаковой в обеих версиях; отличается только формат передачи.

В выводе curl -v строки, начинающиеся с >, — это данные, отправленные на сервер (запрос), строки, начинающиеся с <, — данные, полученные от сервера (ответ), а строки, начинающиеся с *, — информационные сообщения curl о деталях соединения и переговорах TLS. Пустая строка, содержащая только > или <, разделяет заголовки и тело. Этот инструмент автоматически разбирает все три секции.

Коды статуса следуют чётко определённой числовой схеме: 1xx — информационные (100 Continue), 2xx — успех (200 OK, 201 Created, 204 No Content), 3xx — перенаправление (301 Permanent, 302 Found, 304 Not Modified), 4xx — ошибки клиента (400 Bad Request, 401 Unauthorized, 403 Forbidden, 404 Not Found, 429 Too Many Requests) и 5xx — ошибки сервера (500 Internal Error, 502 Bad Gateway, 503 Service Unavailable).

← Вернуться ко всем инструментам