2011-07-05 10 views
3

IはHTTPプロキシにHTTPリクエストが絶対URIを使用するHTTP仕様(セクション5.1.2)に気づいた:HTTPプロキシでGETリクエストに絶対URIが必要なのはなぜですか?

GET http://stackoverflow.com/questions/1968887/uribuilder-and-in-uri HTTP/1.1 

非プロキシ要求は、相対URIを使用しながら:

GET /relative_path.html HTTP/1.1 

どちらの場合も、「Host:」ヘッダーも指定されています。 「Host:」ヘッダーにはすでにリクエストのターゲットが指定されているため、HTTPプロキシに絶対URIが必要なのはなぜですか?仕様には要求ループを回避する方法が記載されていますが、私の質問とは関係のないことはまったくわかりません。

私はネットワークモニタをチェックし、私のシステム上で少なくとも上記のように動作することを確認しました。

答えて

1

"Host"ヘッダーはHTTP 1.1にしかないと思われます(私は思う)。これに先立ち、道はすべてそこにあった。これはプロキシでは十分ではありませんでしたので、ホストを動作させるためにはホストを追加する必要がありました。

これは、HTTP 1.1で冗長化されていると思いますが、現在は下位互換性のために存在しています。

+1

ありがとう、私はそれが願っています。私の開発者は、URIと「Host:」ヘッダーに異なるサーバー名の値を入れることが、その問題の解決策を提案しています。 (HTTPプロキシは関係ありません)動作しない何らかの理由がある場合、私はそれを知りたいです。 – Bruce

+0

仕様では、絶対URIが存在する場合、Hostヘッダーを無視する必要があると言います。 – ebullient

関連する問題