Перейти к содержанию

Парсер HTTP заголовков

Разбирает вставленный блок необработанных HTTP-заголовков запроса или ответа в удобочитаемые пары имя/значение.

Входные данные
Выходные данные

Парсер HTTP заголовков

Вставьте блок необработанных HTTP-заголовков — скопированных из инструментов разработчика браузера, curl -i, логов прокси или документации API — и этот инструмент разобьёт его на первую строку (метод и цель запроса или код статуса ответа) плюс каждый заголовок как чистую пару имя/значение. Это экономит ручную работу по поиску одного конкретного заголовка в стене строк «Имя: значение».

Включите параметр «Развернуть составные заголовки» чтобы разбить многодирективные заголовки типа Cache-Control и Content-Security-Policy на одну директиву в строке — так «no-cache, no-store, must-revalidate» станет тремя отдельными, лёгкими для сканирования записями вместо одной длинной строки, которую нужно разбирать вручную. «Нормализовать регистр имён заголовков» переписывает имена в их каноническую форму (content-type становится Content-Type) независимо от того, как их отправил источник, так как имена HTTP-заголовков нечувствительны к регистру в сети, но на практике используются непоследовательно. Отсортируйте список в алфавитном порядке, чтобы быстро найти конкретный заголовок в длинном ответе, и переключайтесь между выровненной текстовой таблицей и JSON, когда нужно вставить результат в скрипт вместо визуального чтения.

Включите параметр «Предупредить об отсутствующих заголовках безопасности» для проверки распарсенных заголовков относительно шести общепринятых рекомендуемых — Content-Security-Policy, Strict-Transport-Security, X-Content-Type-Options, X-Frame-Options, Referrer-Policy и Permissions-Policy — и вывода списка отсутствующих. Это быстрая проверка здравомыслия при отладке развёртывания, а не замена полного аудита безопасности.

Всё работает локально в вашем браузере: вставляемые вами заголовки, которые могут содержать cookies, токены или внутренние имена хостов, никогда не загружаются куда-либо. Разбор обрабатывает как окончания строк Windows (CRLF), так и Unix (LF), допускает старый стиль свёрнутых строк продолжения и останавливается на первой пустой строке — точно там, где спецификация HTTP говорит, что начинается тело — поэтому вставка полного ответа с приложенным телом безопасна.

FAQ

Работает ли это с запросами и ответами?
Да. Он автоматически распознаёт строку запроса (метод, цель, версия HTTP) или строку состояния (версия HTTP, код состояния, фраза причины) и возвращается к разбору обычных строк заголовков, если ни одна не присутствует.
Что именно означает «Развернуть составные заголовки»?
Заголовки, значение которых — это список директив: Cache-Control и Permissions-Policy разделены запятыми, а Content-Security-Policy и Strict-Transport-Security разделены точками с запятой. Каждая директива становится собственной строкой с тем же именем заголовка.
Какие заголовки безопасности проверяются?
Content-Security-Policy, Strict-Transport-Security, X-Content-Type-Options, X-Frame-Options, Referrer-Policy и Permissions-Policy — шесть общепринятых рекомендуемых заголовков ответа. Сообщаются только отсутствующие; значения присутствующих заголовков не проверяются.
Что происходит с телом, если вставить полный ответ?
Ничего — оно игнорируется. Разбор останавливается на первой пустой строке, что соответствует месту, где заканчиваются HTTP-заголовки и начинается тело, поэтому вставка полного curl -i или снимка dev-tools безопасна.
Загружаются ли вставленные данные заголовков куда-либо?
Нет. Разбор выполняется полностью в вашем браузере — заголовки, включая все содержащиеся в них cookies или токены, никогда не покидают ваше устройство.