2011-01-13 11 views
3

私が見つけたのは: "要求されたリソースは、Locationフィールドで指定されたプロキシを介してアクセスしなければなりません(MUST):LocationフィールドはプロキシのURIを示します。起源サーバによって生成される。305 HTTPステータスコードとは何ですか?それを正しく使うには?

正しく使用するには?指定されたURLの下にプロキシがない場合はどうなりますか?

+0

どのような状況でこれを取得していますか? –

答えて

6

リダイレクトは、クライアントに別の場所からコンテンツを取得するように指示するときに使用します。与えられたURIは、言葉の口語使用において「プロキシ」である必要はありません。最初にリクエストされたコンテンツが存在する別の場所です。

負荷分散には人が使用します。私は、クライアントがそれを正しく実装するかわからないんだけど、そうあなただけのリダイレクトしたい場合は、HTTPのRFCで説明したように、302

編集

意図した使用例と一緒に行く方が安全だろう:キャッシングプロキシがあり、その上のコンテンツは実サーバ(オリジンサーバ)から来ているとします。誰かが何らかの形で実際のサーバに直接アクセスし、代わりにプロキシからそれを取得したい場合は、305を送信します。

+0

305との違いは何ですか? 302? "受信者は、この単一の要求をプロキシ経由で繰り返すことが予想されます。 – Sarah

+0

意味が分かりません。ブラウザがどちらかを見ると、基本的に同じことが行われます。 302は、より広範囲のブラウザに実装される可能性が高いですが。 302はちょっとハイジャックされていたので、もっと3xxコードが追加されました。詳細についてはRFCドキュメントをチェックしてください。 – profitphp

+0

"受信者は、この単一の要求をプロキシ経由で繰り返すことが予想されます。あなたは、プロキシの部分にハングアップしています。それは、イカのようなプロキシではなく、内容が存在する別の場所です。そして、302と同様に、クライアントは、代わりにURIの代わりにヘッダーの場所フィールドに与えられたURIで要求したコンテンツを求め、302/305を取得することが期待されます。 – profitphp

3

ごくまれに使用されるコードは、通信チェーン内のプロキシとしてクライアントが送信することを許可されているサーバーですか?たぶんそうではないかもしれませんが、プロキシの検出は難しいです。サーバーの直後にリバースプロキシがある場合、このプロキシは305エラーを受け入れ、HTTPクライアントに転送しますか?

通常、セキュアなプロキシアクセスを使用する「直接アクセス」をリダイレクトするために行われます。その理由は、直接アクセスが利用できるのはなぜですか?以前はセキュリティチェーンに間違っていました。

誰がサーバー側で305を使用していますか?私はあなたが305応答を生成しようとしていないことを願っています。

HTTPクライアントの場合は、302のようなリダイレクトであるため、プロキシと話しているかどうかを知る必要はありません(時にそれを知るのは難しいでしょう)。

関連する問題