Linux

如何測試 HTTP 流水線?

  • April 5, 2011

我正在嘗試測試站點/伺服器/任何東西是否具有管道 HTTP 請求的能力。

到目前為止,我認為可以通過一個curl會話發送多個請求,例如:

curl http://www.example.com/1.html http://www.example.com/main.css http://www.example.com/2.html

是否可以使用下面提到的來模擬流水線,我如何才能實際驗證是否使用了流水線?

我正在考慮使用netcat,發送幾個請求並驗證它是否會以正確的順序返回(按照 RFC 的要求)

你能給我一些關於如何驗證內容是否流水線的提示嗎?(最好在 linux 上,但不是必需的。)

我剛剛檢查了 tcpdump,看起來你建議的 curl 的簡單呼叫實際上並沒有流水線請求。手冊頁指出它們是按順序獲取的,這也表明沒有流水線。

當我過去對此進行測試時,我剛剛將完整的 HTTP 1.1 請求粘貼到 telnet 會話中。

要檢查,請讓 tcpdump 在另一個視窗中執行,例如“tcpdump -nli any -s0 -xX host 1.2.3.4 and port 80”。如果您嘗試使用 curl 命令行,您會看到發送了第一個請求,傳遞了響應,然後發送了第二個請求。如果您使用正確的流水線,您應該能夠看到在任何響應數據返回之前發送了多個 GET 行。

這感覺有點像一個家庭作業問題,所以我要把你留在那裡。

引用自:https://serverfault.com/questions/255758