「すべての」キャッシュとブラウザで機能する最小限のヘッダーセットを見つけたい(HTTPSを使用している場合も!)
私のWebサイトには、次の3種類のリソースがあります。
(1)永久にキャッシュ可能(パブリック/すべてのユーザーに等しい)
例:0A470E87CC58EE133616F402B5DDFE1C.cache.html(GWTによって自動生成)
これらのファイルは、コンテンツが変更されると(MD5に基づいて)、自動的に新しい名前が割り当てられます。
HTTPSを使用している場合でも、可能な限りキャッシュする必要があります(したがって
Cache-Control: public
、特にFirefoxの場合は設定する必要がありますか?)コンテンツが変更された場合、検証のためにクライアントがサーバーにラウンドトリップする必要はありません。
(2)時々変更する(公開/すべてのユーザーに等しい)
例:index.html、mymodule.nocache.js
これらのファイルは、サイトの新しいバージョンが展開されるときに、URLを変更せずにコンテンツを変更します。
それらはキャッシュできますが、おそらく毎回再検証するためにラウンドトリップが必要です。
(3)リクエストごとに個別(プライベート/ユーザー固有)
例:JSON応答
- これらのリソースは、いかなる状況でも暗号化せずにディスクにキャッシュしないでください。(キャッシュできる特定のリクエストがいくつかある場合を除きます。)
おそらく各タイプにどのヘッダーを使用するかについての一般的な考えはありますが、常に何かが欠けている可能性があります。