Парсер 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 token123HTTP-ответ
Попробовать →Ответ 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).