Валидатор сырых HTTP-запросов
Валидируйте и разбирайте текст сырого HTTP-запроса с подробными метаданными запроса.
Ввод
Вывод
Результат
Нет значения
Документация
Что такое raw HTTP-запрос?
Raw HTTP-запрос — это текстовое представление HTTP-сообщения в том виде, в котором оно передаётся по сети. Он состоит из строки запроса (метод, URL и версия HTTP), за которой следуют поля заголовков (пары ключ-значение), пустая строка и необязательное тело. Например, простой GET-запрос выглядит как GET /index.html HTTP/1.1, за которым следуют заголовки вида Host: example.com.
Понимание raw HTTP-запросов является основой веб-разработки, отладки API и диагностики сети. Такие инструменты, как cURL, Wireshark и инструменты разработчика в браузере, часто отображают запросы в raw-формате. Умение читать и проверять такие сообщения помогает разработчикам выявлять проблемы: некорректные заголовки, неправильную длину содержимого, отсутствующие заголовки host или несоответствие версий протокола.
Описание инструмента
Валидатор raw HTTP-запросов выполняет разбор и проверку raw HTTP-сообщений. Вставьте полный raw HTTP-запрос — включая строку запроса, заголовки и необязательное тело — и инструмент проверит его соответствие корректному синтаксису HTTP. Если запрос валиден, инструмент извлекает и отображает ключевые сведения: HTTP-метод, URL, версию HTTP, host, количество заголовков и размер тела в байтах. Если запрос некорректен, сообщается конкретная ошибка разбора.
Возможности
- Полный разбор запроса: проверяет всю структуру HTTP-сообщения, включая строку запроса, заголовки и тело
- Детальное извлечение полей: отображает разобранный метод, URL, версию HTTP, заголовок host, количество заголовков и размер тела в байтах
- Сообщения об ошибках: предоставляет конкретные сообщения об ошибках, если запрос неполный или некорректный
- Предзаполненный пример: содержит образец POST-запроса, чтобы сразу увидеть ожидаемый формат
- Разбор на основе стандартов: использует библиотеку
http-parser-js, реализующую ту же логику разбора, что и Node.js
Принцип работы
Инструмент использует http-parser-js — реализацию HTTP-парсера на JavaScript, изначально написанного на C для Node.js. При вставке raw-запроса парсер обрабатывает его побайтово: определяет строку запроса, извлекает каждую пару заголовков, накапливает тело и проверяет полноту сообщения. Если парсер обнаруживает синтаксическую ошибку или сообщение неполное (отсутствует завершающая пустая строка или объявленное содержимое тела), фиксируется сбой. При успешном разборе компоненты отображаются в структурированных полях вывода.
Ограничения
- Только HTTP/1.x: парсер обрабатывает запросы HTTP/1.0 и HTTP/1.1. Бинарные фреймы HTTP/2 не поддерживаются
- Только запросы: инструмент проверяет HTTP-запросы, но не HTTP-ответы
- Без семантической проверки: парсер проверяет структурную корректность, но не валидирует логическую правильность значений заголовков (например, соответствие Content-Type фактическому формату тела)
Сценарии использования
- Отладка API: проверяйте raw-запросы, полученные из логов, прокси или документации, перед отправкой на сервер
- Изучение HTTP: исследуйте структуру HTTP-сообщений, экспериментируя с различными методами, заголовками и форматами тела
- Анализ безопасности: изучайте и проверяйте подозрительные или нестандартные HTTP-запросы, обнаруженные в ходе тестирования на проникновение или анализа логов