Как я могу проверить HTTP Pipelinning?
Я пытаюсь проверить, есть ли у сайта / сервера / чего-либо еще возможность передавать HTTP-запрос.
Пока, я думаю, что можно отправить несколько запросов через один curl
сессия, как:curl http://www.example.com/1.html http://www.example.com/main.css http://www.example.com/2.html
Возможно ли использовать упомянутое ниже для симуляции конвейерной обработки и как я могу на самом деле проверить, чем конвейерная обработка использовалась?
Я Ласо думаю об использовании netcat
отправьте несколько запросов и проверьте, вернется ли он в правильном порядке (в соответствии с запросом RFC)
Не могли бы вы дать мне несколько советов о том, как проверить, что контент был передан по конвейеру? (В лучшем случае на linux, но не обязательно.)
1 ответ
Я только что проверил с помощью tcpdump, и похоже, что простой вызов curl, который вы предлагаете, на самом деле не передает запросы. Страница man утверждает, что они выбираются последовательно, что также предполагает отсутствие конвейерной обработки.
Когда я проверял это в прошлом, я просто вставил полные запросы HTTP 1.1 в сеанс telnet.
Чтобы проверить, оставьте tcpdump запущенным в другом окне, например, "tcpdump -nli any -s0 -xX host 1.2.3.4 и port 80". Если вы попробуете командную строку curl, вы увидите, что первый запрос отправлен, ответ получен, а затем второй. Если вы правильно передаете данные по конвейеру, вы должны увидеть несколько строк GET, отправляемых до того, как вернутся какие-либо данные ответа.
Это похоже на домашнее задание, поэтому я оставлю тебя там.