16

プロキシサーバーによってサーバーに転送される前に、HTTPリクエストにリクエストヘッダーが追加または変更されていますか?

その場合、変更は同じパケットに加えられますか、それとも変更を加えた新しい要求パケットを作成するためにコンテンツが使用されますか?

4

1 に答える 1

31

プロキシサーバーにはいくつかの種類があります。リクエストヘッダーについて説明したので、パケットではなくHTTPリクエストを転送するHTTPプロキシサーバーについて話していると仮定します。

注:HTTPSリクエスト(TLS / SSL via )の特殊なケースではCONNECT、プロキシサーバーはTCPパケットのコンテンツを転送するだけです(中間者プロキシとして機能しない限り、パケットを検査することはできません)。


もちろん、それはプロキシソフトウェアとその構成に依存しますが、HTTPプロキシは、多くのことを述べているWebコンテンツ変換プロキシのW3Cガイドラインに従うことが期待されていますが、最も関連性があります。

  • HEADとプロキシ間で変換する以外は、GETリクエストメソッドを変更してはなりません。

  • リクエストにディレクティブが含まれている場合、プロキシは、RFC 2616 HTTPセクションセクション14.9.5およびセクション13.5.2で定義されている透過的なHTTP動作に準拠し、 4.1.6追加のHTTPヘッダーCache-Control: no-transformで説明されているようにヘッダーフィールドを追加する以外に、リクエストを変更してはなりません。フィールド

  • RFC 2616で必要な変更を除いて、 HTTPプロキシは、、、、、、およびヘッダーフィールド以外のヘッダーフィールドの値を変更したり、ヘッダーUser-Agentフィールドを削除したりしないでください。AcceptAccept-CharsetAccept-EncodingAccept-Language

  • プロキシは、リクエストのイニシエーターのIPアドレスをX-Forwarded-ForHTTPヘッダーフィールドのコンマ区切りリストの最後に追加する必要があります。

  • プロキシには(RFC 2616に従って)ViaHTTPヘッダーフィールドを含める必要があります。


要約すると、一般的に、これらのHTTPヘッダーは、標準に準拠したプロキシによって変更/追加されることが期待できます。

  • User-Agent
  • Accept
  • Accept-Charset
  • Accept-Encoding
  • Accept-Language
  • X-Forwarded-For
  • Via
于 2012-04-29T06:19:22.997 に答える