ジャンプ先:

キャッシュ可能なレスポンス(応答)とは、キャッシュすることが可能な HTTP レスポンスで、後で取り出して使用するために格納され、サーバーへの新しいリクエスト(要求)を節約します。 すべての HTTP レスポンスがキャッシュされるわけではありませんが、キャッシュされる HTTP レスポンスには次の制約があります。

  • リクエストで使用されるメソッドは、それ自体がキャッシュ可能です(GET メソッドまたは HEAD メソッド)。 フレッシュネス(新鮮さ)が示され、Content-Location ヘッダーが設定されている場合は、POST または PATCH リクエストへのレスポンスもキャッシュできますが、これはほとんど実装されていません。 (例えば、Firefox は https://bugzilla.mozilla.org/show_bug.cgi?id=109553 により、それをサポートしていません。) PUTDELETE のような他のメソッドはキャッシュ可能ではなく、その結果をキャッシュすることはできません。
  • レスポンスのステータスコードはアプリケーション キャッシュによって認識され、キャッシュ可能と見なされます。 次のステータスコードは、キャッシュ可能です: 200, 203, 204, 206, 300, 301, 404, 405, 410, 414, 501
  • Cache-Control のようにキャッシュすることを防止するレスポンスには特定のヘッダーはありません

特定の URI に対するキャッシュ不可能なリクエスト/レスポンスの中には、同じ URI で以前にキャッシュされたレスポンスを無効にするものがあることに注意してください。 たとえば、pageX.html への PUT は、同じ URI に対して、キャッシュされたすべての GET リクエストまたは HEAD リクエストを無効化します。

リクエストのメソッドとレスポンスのステータスの両方がキャッシュ可能な場合、リクエストに対するレスポンスをキャッシュすることができます。

GET /pageX.html HTTP/1.1
(…) 

200 OK
(…)

PUT リクエストはキャッシュできません。 さらに、HEAD または GET を介して行われた同じ URI へのリクエストに対して、キャッシュされたデータを無効にします。

PUT /pageX.html HTTP/1.1
(…)

200 OK
(…)

レスポンス内の特定の Cache-Control ヘッダーは、キャッシュすることを防止できます。

GET /pageX.html HTTP/1.1
(…)

200 OK
Cache-Control: no-cache
(…)

より詳しく知る

一般知識

技術的な知識

  • 一般的なキャッシュ可能なメソッドの説明: GETHEAD
  • 一般的なキャッシュ不可能なメソッドの説明: PUTDELETE、多くの場合 POST

ドキュメントのタグと貢献者

このページの貢献者: Wind1808
最終更新者: Wind1808,