zaLinux.ru

Как посмотреть HTTP заголовки


Что такое HTTP заголовки

HTTP протокол используется при открытии сайтов и скачивании файлов из Интернета. HTTP протокол работает по принципу запрос-ответ — от клиента приходит запрос и сервер отправляет ответ. Каждый запрос и каждый ответ состоит из элементов:

  • Стартовая строка
  • Заголовки
  • Тело сообщения

Тело сообщения — это то, ради чего делается запрос — страница сайта или файл.

Заголовки — это метаинформация, которую мы обычно не видим.

В заголовках запроса могут быть такие данные как:

  • предпочитаемые языки
  • характеристика программы, которая делает запрос
  • содержимое кукиз
  • информация для сервера — для какого хоста предназначен запрос и прочее

В заголовках ответа могут быть такие данные как:

  • кодировка присланного текста
  • тип присланного контента (изображение, текст, архив и пр.)
  • данные о ПО веб-сервера
  • данные о кэшировании: ПО, используемое для кэширования, возраст присланных данных и прочее

Эта статья расскажет, как посмотреть HTTP заголовки.

Как в веб-браузере увидеть HTTP заголовки

Это самый простой способ, доступный в любой операционной системе.

Нажмите в веб-браузере F12 и откройте интересующую вас страницу. Перейдите на вкладку Network (сеть) и выберите интересующее вас подключение.

Google Chrome/Chromium:

Firefox:

Вначале идут Заголовки ответа (Response Headers), а затем Заголовки запроса (Request Headers), хотя, конечно же, вначале отправляется запрос и его заголовки, а затем приходит ответ.

Это удобный метод, причём вам не нужно беспокоиться о HTTPS протоколе — поскольку веб-браузер является конечным адресатом, то он может показывать уже расшифрованные данные.

Как в cURL посмотреть HTTP заголовки

Для cURL есть опции -I, -v и -i, которые делают так, что эта утилита показывает HTTP заголовки.

Разница в том, что опция -I означает использовать метод HEAD, то есть в реальности кроме HTTP заголовков ничего не будет прислано. А опция -v делает вывод более вербальным, в результате в него включаются и заголовки. Но если вы отправляете запрос по HTTPS протоколу, то с опцией -v также будут показаны данные, относящиеся к TLS рукопожатию — они не имеют отношения к HTTP заголовкам. Ещё нужно знать, что опция -I показывает только заголовки ответа, а опция -v показывает и Заголовки запроса и Заголовки ответа.


Опция -i также показывает только заголовки ответа, не показывает TLS рукопожатие, но зато показывает всё тело ответа.

Пример использования метода HEAD:

curl -I https://suip.biz/ru/ -A 'Chrome'

Здесь «HTTP/1.1 200 OK» это строка статуса, а всё остальное — поля HTTP заголовка.


Пример вербального вывода:

curl -v https://suip.biz/ru/ -A 'Chrome' > /dev/null

Отправленные на веб сервер заголовки имеют в начале символ >, а полученные с веб-сервера строки начинаются на <.

Синей рамкой выделены стартовые строки (строка запроса и строка статуса), а красным HTTP заголовки.

Пример вывода заголовков вместе с телом сообщения:

curl -i https://suip.biz/ru/ -A 'Chrome'

С опцией -i HTTP заголовки выводятся в стандартный вывод, а с опцией -v заголовки выводятся в вывод ошибок.

HTTP заголовки в Wireshark (только для протокола HTTP, без HTTPS)

До сих пор мы программа, которая показывает HTTP заголовки и которая отправляет запросы и принимает ответы совпадали, поэтому даже при использовании протокола HTTPS мы видели расшифрованные данные. Но программа Wireshark не может расшифровывать протокол HTTPS, поэтому в ней можно просмотреть только заголовки для незашифрованного трафика.

Для поиска HTTP сообщений используйте фильтр

http

Заголовки запросов и ответов смотрите в «Hypertext Transfer Protocol»:


Преимущества Wireshark в том, что кроме просмотра HTTP заголовков, вы можете использовать гибкую и мощную систему фильтров для поиска по полям заголовка. Подробности смотрите в справочной статье «Фильтры Wireshark».

HTTP заголовки в Burp Suite

Программа Burp Suite содержит прокси специально для просмотра заголовков. Более того, в программе имеются функции по модификации заголовков и другого содержимого на лету. Но Burp Suite это профессиональная программа, требующая изучения.

Burp Suite умеет работать с запросами по HTTPS, но для этого требуется настройка SSL сертификатов в веб-браузере.

Смотрите также большую статью «HTTP протокол», которая содержит подробное, но написанное простым языком описание протокола.

И ещё смотрите близкую по теме статью: Как отобразить данные POST с cURL.


Рекомендуемые статьи:

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *