[解決済み] HTTPのPOSTメソッドをキャッシュすることは可能ですか?
質問
非常にシンプルなキャッシュのセマンティクスで:パラメータが同じなら(もちろんURLも同じ)、ヒットするのです。それは可能ですか?推奨されますか?
どのように解決するのですか?
対応する RFC 2616 をキャッシュすることができます。 レスポンス をPOSTメッセージに変換する際に、適切なヘッダを使用した場合。
<ブロッククオートこのメソッドのレスポンスはキャッシュされません。 は適切な Cache-Control または Expires ヘッダーフィールドを含んでいます。しかし 303 (See Other) レスポンスを使用すると、ユーザーエージェントに キャッシュ可能なリソースを取得します。
同じ RFC のセクション 13 (Caching in HTTP) で、キャッシュは POST の後に対応するエンティティを無効にしなければならないと明言されていることに注意してください。 リクエスト .
いくつかのHTTPメソッドは キャッシュはエンティティを無効化する。これは によって参照されるエンティティ Request-URI、またはLocationもしくは Content-Locationヘッダがある場合)。 これらのメソッドは
- PUT - DELETE - POST
この仕様で、どうして意味のあるキャッシュが可能になるのか、私にはよくわかりません。
にも反映され、さらに明確化されています。 RFC 7231 (セクション 4.3.3.) は、RFC 2616 を廃止しています。
POSTリクエストに対するレスポンスは、以下を含む場合にのみキャッシュ可能です。
明示的な鮮度情報([RFC7234]のセクション 4.2.1 を参照)。
しかし、POSTキャッシュは広く実装されていない。 オリジンサーバーがクライアントに以下のことを望む場合 POSTの結果を、後に続くPOSTで再利用できるようにキャッシュする。 GETの場合、オリジンサーバーは、200(OK)応答を送信してもよい(MAY)。 と同じ値を持つContent-Locationヘッダーフィールドを持つ。 は、POSTの有効なリクエストURI(セクション3.1.4.2)と同じです。
これによると、キャッシュされたPOSTの結果(この能力がサーバーによって示される場合)は、その後、同じURIに対するGETリクエストの結果として使用することができます。
関連
-
[解決済み】Android 8:クリアテキストのHTTPトラフィックが許可されない
-
[解決済み] ブラウザによって異なるURLの最大長とは?
-
[解決済み] HTTP GET(リクエストボディ付き
-
[解決済み] フォーム送信のようなJavaScriptのポストリクエスト
-
[解決済み] HTTP POSTリクエストでは、どのようにパラメータが送信されるのですか?
-
[解決済み] HTTP POST Web リクエストの作成方法
-
[解決済み] node.jsでHTTP POSTリクエストはどのように行われるのですか?
-
[解決済み] POSTとPUT HTTP REQUESTの違いは何ですか?
-
[解決済み] サブドメインとドメイン間でCookieを共有する
-
[解決済み】HTTPのPOSTとPUTの違いは何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
youtubeマッチチャンネル(チャンネル)
-
[解決済み] HTTP_CLIENT_IPとHTTP_X_FORWARDED_FORの違いは何ですか?
-
[解決済み] X-Forwarded-Forヘッダーが表示されないブラウザの理由
-
[解決済み] HTTP 414 "Request URI too long" エラーを解決するにはどうすればよいですか?
-
[解決済み] Firefoxで突然「Blocked loading mixed active content」問題が発生したのはなぜですか?
-
[解決済み】Node.jsのほとんどのポートでリスニングするとEACCESエラーが発生する。
-
[解決済み】URLのアンパサンドのエスケープについて
-
[解決済み】Accept* HTTPヘッダのq=0.5とは何ですか?
-
[解決済み] HTTP GETリクエストにcontent-typeヘッダーは必要ですか?
-
[解決済み] なぜCache-Control属性はリクエストヘッダ(クライアントからサーバーへ)に送信されるのですか?