web-dev-qa-db-ja.com

HTTPパイプラインをテストするにはどうすればよいですか?

サイト/サーバー/その他にHTTPリクエストをパイプライン処理する機能があるかどうかをテストしようとしています。

これまでのところ、次のように、1つのcurlセッションを通じて複数のリクエストを送信することが可能だと思います。
curl http://www.example.com/1.html http://www.example.com/main.css http://www.example.com/2.html

下記のパイプラインをシミュレートするために使用することは可能ですか?パイプラインが使用されたよりも実際に確認するにはどうすればよいですか?

私はnetcatを使用することも考えており、いくつかのリクエストを送信して、正しい順序で返されるかどうかを確認します(RFCのリクエストに従って)

コンテンツがパイプライン化されたことを確認する方法についてのヒントを教えてください。 (Linuxでは最高ですが、必須ではありません。)

3
Ency

Tcpdumpで確認したところ、提案しているcurlの単純な呼び出しでは、実際にはリクエストがパイプライン化されていないようです。マニュアルページには、それらが順番にフェッチされると記載されており、パイプラインがないことも示唆されています。

過去にこれをテストしたとき、完全なHTTP1.1リクエストをtelnetセッションに貼り付けました。

確認するには、「tcpdump -nli any -s0 -xX Host 1.2.3.4 andport80」などの別のウィンドウでtcpdumpを実行し続けます。 curlコマンドラインを試すと、最初のリクエストが送信され、レスポンスが配信されてから、2番目のリクエストが送信されることがわかります。正しくパイプライン化されている場合は、応答データが返される前に、複数のGET行が送信されていることを確認できるはずです。

これは宿題の質問のように感じるので、そのままにしておきます。

2
Daniel Lawson