Как протестировать HTTP Keep live на самом деле работает
Я знаю, что HTTP-keep-alive включен по умолчанию в HTTP 1.1, но я хочу найти способ подтвердить, что он действительно работает.
Кто-нибудь знает простой способ тестирования из веб-браузера (EG, как разобраться в wirehark). Я знаю, что мне нужно искать несколько HTTP-запросов по одному и тому же TCP-соединению, но я не знаю, как подтвердить это в wirehark или любым другим способом.
Спасибо!
Ответы
Ответ 1
Как Рон Гаррити сказал в 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
Ответ 2
Если вы работаете в Windows Vista или более поздней версии, вы можете использовать диспетчер ресурсов. На вкладке "Сеть" будут указаны все открытые TCP-соединения и процесс, с которым они были запущены. Откройте браузер с одной вкладкой, перейдите на страницу и проверьте.
Ответ 3
Сначала попробуйте захватить трафик на целевой сайт в Wireshark и ограничьте его тем, что вам нужно, с фильтром, например:
tcp port 80 and host targetwebsite.com
Затем загрузите страницу в браузере или выберите ее любым инструментом. Если целевая веб-страница освежает себя или одно из значений в ней, оставьте ее открытой, пока в ней не будет хотя бы одного изменения.
Теперь у вас достаточно данных, и вы можете остановить процедуру захвата в Wireshark.
Вы должны увидеть десятки записей, а их протокол должен быть TCP или HTTP. Для вашей быстрой простой проверки вам не понадобятся записи TCP. Таким образом, удалите их, применив другой фильтр. В верхней части окна есть поле "фильтр". Введите http там, и wirehark скроет все записи, кроме тех, которые имеют протокол HTTP.
Теперь выберите запись и посмотрите на следующий уровень деталей, который вы можете найти во втором поле ниже всех записей. Чтобы убедиться, что вы смотрите в нужное место, первая строка начинается с "Frame XYZ". Четвертая строка начинается с "Протокола управления передачей". Найдите номера портов после "Порт SRC" и "Порт DST:". В зависимости от записи один из этих номеров принадлежит веб-серверу (обычно 80), а другой показывает номер порта в конце.
Теперь проверьте несколько разных записей GET. Чтобы узнать, является ли запрос GET-записью, проверьте столбец Info. Если номера портов в конце используются несколько раз, все эти запросы были сделаны через HTTP keepalive.
Помните, что большинство браузеров откроют несколько подключений, даже если веб-сервер поддерживает keepalive. Итак, НЕ завершайте свою оценку, найдя только один другой порт.