Сеть/HTTP

HTTP Headers Parser

Разобрать сырые HTTP-заголовки (из curl -I, DevTools, raw response) на список полей с пояснением и проверкой заголовков безопасности.

Сырые HTTP-заголовки из curl -I или вкладки Network в DevTools выглядят как сплошной блок текста. Инструмент разбирает его на отдельные поля, объясняет назначение каждого заголовка и проверяет наличие типичных заголовков безопасности.

Как пользоваться

Типичные сценарии

Что стоит помнить

Порядок заголовков в основном не имеет значения для HTTP, кроме редких случаев с повторяющимися заголовками того же типа (например, несколько Set-Cookie).

Отсутствие заголовка безопасности не всегда ошибка — некоторые из них (например, HSTS) имеют смысл только для HTTPS-сайтов или конкретных сценариев использования.

Статья об этом инструменте: HTTP-заголовки: что скрыто в каждом запросе и ответе

Часто задаваемые вопросы

В чём разница между заголовками запроса и заголовками ответа?

Заголовки запроса отправляет клиент, чтобы описать, что он запрашивает (например, Accept или Authorization), а заголовки ответа отправляет сервер, чтобы описать, что он возвращает (например, Content-Type или Cache-Control).

Почему некоторые названия заголовков отображаются с разным регистром?

Названия HTTP-заголовков нечувствительны к регистру по спецификации, поэтому Content-Type и content-type эквивалентны — разные серверы и инструменты просто по-разному их отображают.

Отправляются ли заголовки куда-либо при разборе здесь?

Нет. Весь разбор происходит полностью в вашем браузере — ничего не загружается на сервер.

Почему в одном ответе может быть несколько заголовков Set-Cookie?

Каждый заголовок Set-Cookie устанавливает ровно одну cookie, поэтому если сервер хочет установить несколько, он добавляет несколько отдельных строк — в отличие от большинства заголовков, значения которых можно безопасно объединить запятой.

Важен ли порядок заголовков в HTTP-запросе или ответе?

В основном нет — HTTP не гарантирует и не требует конкретного порядка заголовков, за исключением редких случаев, когда повторяющиеся заголовки одного типа имеют значение именно в порядке появления (например, несколько Set-Cookie).

Статьи: Сеть/HTTP

Разбор URL: из каких частей состоит веб-адрес

Почему в URL есть часть после символа #, которую сервер даже не получает.

Query String против JSON: почему GET-параметры такие ограниченные

Почему передать массив или вложенный объект через query string URL не так просто, как через JSON.

User-Agent: почему эта строка такая запутанная

Почему Chrome, Safari и Edge все содержат в User-Agent слова "Mozilla" и "Safari" одновременно.

Basic Authentication: как простейший способ аутентификации работает в HTTP

Почему Basic Auth обязательно требует HTTPS, ведь Base64 — это не шифрование, а лишь кодирование.

Cookies: как небольшой кусок текста хранит состояние сессии

Почему атрибут HttpOnly защищает cookie от кражи через вредоносный JavaScript-код.

CORS: почему браузер блокирует "обычные" запросы к другому домену

Почему ошибка CORS возникает в браузере, а не на стороне сервера, и кто на самом деле блокирует запрос.

Заголовки email: как проследить путь письма от отправителя до вас

Почему заголовки Received нужно читать снизу вверх, чтобы проследить путь письма.