305

状態符号 305 (HTTP)

[306] HTTP状態符号 305 (Use Proxy) は、 を使ってアクセスするべきであるというある種のリダイレクトを表しています。

[310] 利用者エージェントは、 305 を受け取った場合、元の要求をもう一度、 指定されたを介して行うことが期待されています。を使えという指示はその要求のみについてであって、 それ以降の要求は (たとえ同じ要求URLであっても) を使わない元々の設定で行う必要があります。

串・キャッシュとの関係

[311] この状態符号起源鯖しか生成してはいけないことになっていますが、 元々起源鯖利用者エージェントの間にが挟まってる場合に、 そのが勝手に 305 を返したとしても、 利用者エージェントにはそれを検出する術はなさそうです。

RFC 2616 はそれは保安上問題があると指摘していますね (>>308)。

[312] 305 応答であることは、正しいキャッシュが返しても良いとされる条件 RFC 2616 13.1.1 に含まれています。とはいえ、 305 応答は明示的にから指定がない限りキャッシュ可能ではありません RFC 2616 13.4。 従って 305 応答から明示的に指定しない限りキャッシュに蓄積されて再利用されることはありません。

歴史

[313] RFC 2068・2616 (HTTP/1.1) 10.3.6 305 Use Proxy

The requested resource MUST be accessed through the proxy given by the Location field. The Location field gives the URL URI of the proxy. The recipient is expected to repeat the this single request via the proxy. 305 responses MUST only be generated by origin servers.

[307] 要求された資源は、 Location によって示されたを通じてアクセスしなければなりません。 [CODE(HTTP@en[Location]] URL URI を示しています。受信者はこの要求だけを指定されたを介してもう一度行うことが期待されています。305 応答起源鯖によってのみ生成されなければなりません

Note: RFC 2068 was not clear that 305 was intended to redirect a single request, and to be generated by origin servers only. Not observing these limitations has significant security consequences.

[308] 注意: RFC 2068 においてはリダイレクトがその1回の要求のみを意図していること、 起源鯖によってのみ生成されることを意図していることが明確ではありませんでした。 このような制限に従わなければ、重大な保安上の問題につながりかねません。

[309] RFC のこの部分 (に限りませんが。) は RFC 2119 助動詞の使い方がおかしいですねぇ・・・。

[315] RFC 2616 の改訂版である RFC 7231セキュリティー上の問題 >>1 から非推奨 (deprecated) >>314 としています。