RFCは、クライアントが応答を永続的にキャッシュする必要があることを示唆しているようです: http ://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html
10.3.2301恒久的に移動
要求されたリソースには新しい永続的なURIが割り当てられており、このリソースへの今後の参照では、返されたURIの1つを使用する必要があります。リンク編集機能を備えたクライアントは、可能であれば、Request-URIへの参照をサーバーから返された1つ以上の新しい参照に自動的に再リンクする必要があります。特に明記されていない限り、この応答はキャッシュ可能です。
新しい永続的なURIは、応答のLocationフィールドで指定する必要があります。リクエストメソッドがHEADでない限り、レスポンスのエンティティには、新しいURIへのハイパーリンクを含む短いハイパーテキストメモが含まれている必要があります。
GETまたはHEAD以外の要求に応答して301ステータスコードを受信した場合、ユーザーが確認できない限り、ユーザーエージェントは要求を自動的にリダイレクトしてはなりません。これにより、要求が発行された条件が変わる可能性があります。
Note: When automatically redirecting a POST request after receiving a 301 status code, some existing HTTP/1.0 user agents will erroneously change it into a GET request.
これらをどのように処理するかを説明している主要なブラウザの具体的なブラウザドキュメントを見つけるのに苦労しています。
Firefoxのソースコードを調べ始めましたが、すぐに迷子になりました。
次のシナリオは、(もしあれば)どのブラウザに当てはまりますか?また、FirefoxまたはIEのいずれかについて、同じくらい多くのことを述べている決定的なドキュメントがありますか?:
初めて:
- 1.1:ユーザーがサイトAへのリンクを入力するか、サイトAに向けられたリンクをクリックします
- 1.2:ブラウザはサイトAでリンクを初めて解釈し、キャッシュはありません。GETをサイトAに送信します。
- 1.2:サイトAはサイトBへの301リダイレクトで応答します
- 1.3:ブラウザはGETをサイトBに送信します。
その後の時間: