Анализатор HTTP-заголовков
HTTP-заголовки передают метаданные о запросах и ответах. Этот инструмент разбирает полные HTTP-сообщения, включая строку запроса/статуса, заголовки и содержимое тела. Он анализирует заголовки безопасности (HSTS, CSP), аутентификацию (Basic, Bearer), куки, конфигурацию CORS и директивы кеширования. Содержимое тела автоматически форматируется и подсвечивается синтаксисом на основе Content-Type (JSON, HTML, XML).
Спецификации
Типичные сценарии использования
- Отладка API-запросов, скопированных из вкладки Network в DevTools браузера
- Анализ вывода curl -i или curl -v с заголовками и телом
- Аудит заголовков безопасности на соответствие рекомендациям OWASP
- Устранение неполадок с CORS preflight и кросс-доменными запросами
- Проверка заголовков аутентификации и конфигурации куки
- Проверка поведения кеширования для CDN и браузерного кеша
Возможности
- Разбор полных HTTP-запросов (GET /path HTTP/1.1)
- Разбор HTTP-ответов с кодами статуса и пояснениями
- Форматирование и подсветка синтаксиса тела (JSON, HTML, XML, CSS)
- Декодирование заголовков Authorization (учётные данные Basic auth, Bearer-токены)
- Анализ заголовков безопасности (HSTS, CSP, X-Frame-Options, X-Content-Type-Options)
- Разбор атрибутов Set-Cookie (Secure, HttpOnly, SameSite, срок действия)
- Извлечение и список куки из заголовков
- Отображение заголовков CORS (Access-Control-Allow-Origin и др.)
- Объяснение директив Cache-Control (max-age, no-cache, private)
Примеры
Ответ API с JSON-телом
Попробовать →Полный HTTP-ответ с заголовками и JSON-телом, как при копировании из вывода curl -i.
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Cache-Control: max-age=3600, public
X-Frame-Options: DENY
Strict-Transport-Security: max-age=31536000; includeSubDomains
{
"status": "success",
"data": {
"id": 12345,
"name": "Example User"
}
}HTTP-запрос с аутентификацией
Попробовать →Запрос с аутентификацией Bearer-токеном и куками.
GET /api/users HTTP/1.1
Host: api.example.com
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
Accept: application/json
Cookie: session=abc123; theme=darkСоветы
- Используйте "curl -i URL" для включения заголовков ответа в вывод.
- В DevTools браузера щёлкните правой кнопкой на запросе и выберите "Copy as cURL" для получения полного запроса.
- HSTS (Strict-Transport-Security) указывает браузерам использовать только HTTPS для домена.
- CSP (Content-Security-Policy) контролирует, какие ресурсы может загружать страница.
- Атрибут SameSite куки помогает предотвратить CSRF-атаки.
Описание Анализатор HTTP-заголовков
HTTP-заголовки — это пары ключ-значение, передаваемые между клиентом и сервером как часть каждого HTTP-запроса и ответа. Они несут метаданные о сообщении: тип контента, директивы кеширования, учётные данные аутентификации и политики безопасности. Заголовки располагаются после строки запроса или статуса и перед необязательным телом, отделённые от тела пустой строкой.
Заголовки запроса предоставляют контекст о клиенте и желаемом ответе. Host идентифицирует целевой сервер. Accept и Content-Type согласовывают формат данных. Authorization передаёт учётные данные (Basic, Bearer, API-ключи). Cookie отправляет сохранённые данные сессии. User-Agent идентифицирует клиентское ПО.
Заголовки ответа контролируют, как клиент обрабатывает содержимое. Cache-Control и ETag управляют поведением кеширования. Set-Cookie устанавливает состояние на стороне клиента. Content-Security-Policy ограничивает загрузку ресурсов для предотвращения XSS. Strict-Transport-Security принудительно включает HTTPS. Заголовки CORS (Access-Control-Allow-Origin и связанные) контролируют совместное использование ресурсов между доменами — один из наиболее часто неправильно настраиваемых аспектов веб-API.
Понимание заголовков необходимо для отладки веб-приложений. Когда API возвращает неожиданные результаты, заголовки часто раскрывают причину: отсутствующий Content-Type, просроченный токен аутентификации, директива кеширования, отдающая устаревшие данные, или политика CORS, блокирующая запрос.
Директива Cache-Control — один из наиболее неправильно понимаемых заголовков. Директива no-cache не означает «не кешировать» — она означает, что кеш должен повторно проверить ответ у исходного сервера перед использованием сохранённой копии. Ответ всё равно может быть кеширован. Директива no-store — это то, что действительно предотвращает кеширование, и она должна использоваться для конфиденциальных данных. Для часто изменяющегося контента, который выигрывает от условных запросов, подходящей стратегией является no-cache в сочетании с ETag или Last-Modified.
Ошибки CORS возникают, когда запрос браузера к другому источнику не содержит заголовок ответа Access-Control-Allow-Origin. Сервер должен включать этот заголовок с источником запроса или * для публичных API. Когда задействованы учётные данные (куки или заголовки Authorization), подстановочный знак не допускается — заголовок должен указывать точный источник. Предварительные OPTIONS-запросы дополнительно требуют Access-Control-Allow-Methods и Access-Control-Allow-Headers. Аутентификация Bearer-токеном использует формат Authorization: Bearer <token>, где токен обычно является JWT или непрозрачным токеном доступа из потока OAuth 2.0. В отличие от куки, Bearer-токены не отправляются автоматически — клиент должен явно прикреплять заголовок к каждому запросу.
Каждый веб-сайт должен устанавливать минимальный набор заголовков безопасности. Strict-Transport-Security (HSTS) гарантирует, что всегда используется HTTPS. Content-Security-Policy предотвращает XSS, ограничивая загрузку ресурсов. X-Content-Type-Options: nosniff предотвращает подмену MIME-типа. X-Frame-Options защищает от кликджекинга, а Referrer-Policy контролирует, какая информация передаётся в заголовке Referer. API должны дополнительно настраивать соответствующие заголовки CORS для контроля того, с каких источников могут выполняться запросы.