Как проверить, что HTTP Keep live действительно работает - PullRequest
13 голосов
/ 22 ноября 2010

Я знаю, что поддержка HTTP включена по умолчанию в HTTP 1.1, но я хочу найти способ подтвердить, что он действительно работает.

Кто-нибудь знает простой способ тестирования через веб-браузер (например, как разобраться в wireshark). Я знаю, что мне нужно искать несколько HTTP-запросов по одному и тому же TCP-соединению, но я не знаю, как подтвердить это в wireshark или любым другим способом.

Спасибо!

Ответы [ 3 ]

18 голосов
/ 13 ноября 2013

Как сказал Рон Гаррити на ServerFault , вы можете использовать Curl следующим образом:

curl -Iv http://www.aptivate.org 2>&1 | grep -i 'connection #0'

И выводит эти две строки, если keep-alive работает:

* Connection #0 to host www.aptivate.org left intact
* Closing connection #0

А если keep-alive не работает, он просто выводит следующую строку:

* Closing connection #0
4 голосов
/ 22 ноября 2010

Если вы используете Windows Vista или более позднюю версию, вы можете использовать Resource Manager. На вкладке Сеть будут перечислены все открытые TCP-соединения и процесс, которым они были запущены. Откройте браузер с одной вкладкой, перейдите на свою страницу и протестируйте.

0 голосов
/ 04 октября 2014

Сначала попробуйте захватить трафик на целевой сайт в Wireshark и ограничить его тем, что вам нужно, с помощью фильтра вроде:

tcp port 80 and host targetwebsite.com

Затем загрузите страницу в браузере или загрузите ее любым имеющимся у вас инструментом. Если целевая веб-страница обновляет себя или одно из значений в ней, оставляйте ее открытой, пока в ней не будет хотя бы одного изменения.

Теперь у вас достаточно данных, и вы можете прекратить процедуру захвата в Wireshark.

Вы должны увидеть десятки записей, и их протокол должен быть TCP или HTTP. Для вашей быстрой простой проверки вам не понадобятся записи TCP. Итак, давайте удалим их, применив другой фильтр. В верхней части окна есть поле «фильтр». Введите там http, и wireshark скроет все записи, кроме тех, которые имеют протокол HTTP.

Теперь выберите запись и посмотрите на следующий уровень детализации, который вы можете найти во 2-й ячейке ниже всех записей. Просто чтобы убедиться, что вы смотрите в правильном месте, первая строка там начинается с "Frame XYZ". Четвертая строка начинается с «Протокол управления передачей». Найдите номера портов после «Порт SRC» и «Порт DST:». В зависимости от записи, один из этих номеров принадлежит веб-серверу (обычно 80), а другой показывает номер порта на вашем конце.

Теперь проверьте пару разных записей GET. Чтобы узнать, является ли запрос записью GET, проверьте столбец Информация. Если номера портов в вашем конце используются несколько раз, все эти запросы были сделаны через HTTP keepalive.

Помните, что большинство браузеров открывают несколько соединений, даже если веб-сервер поддерживает keepalive. Поэтому НЕ завершайте оценку, найдя только один другой порт.

...