Glassfish サーバーで Chrome がリソースをキャッシュする際に問題が発生しています。Last-Modified ヘッダーが存在するにもかかわらず、expires ヘッダーと no-cache ヘッダーは送信されず、リソース (約 4 MB の SWF ファイル) が Chrome によってキャッシュされます。
Chrome が 304 コードを取得する場合もあれば、(キャッシュから) 単純に 200 を取得する場合もあります。私は 304 を理解しています -- Chrome はおそらく最新の Last-Modified 日付とキャッシュされたバージョンをチェックして決定しています。しかし、それ以外の場合は (キャッシュから) 200 を実行します。この場合、ヘッダー情報は返されず、Chrome はファイルがチェックされるのではなく、変更されていないと想定しているように見えます。
Google 自身のサイトには、次のように記載されています。
HTTP/S は、ブラウザによる静的リソースのローカル キャッシュをサポートしています。一部の最新のブラウザー (IE 7、Chrome など) では、ヒューリスティックを使用して、明示的なキャッシュ ヘッダーを持たないすべてのリソースをキャッシュする期間を決定します。
しかし、これは決定的な答えを提供しません。このヒューリスティックはどこかで公開されていますか? 決まった答え (30 日など) はないかもしれませんが、いくつかの一般的なガイドラインが役立ちます。さらに、Last-Modified が設定されている場合、なぜ Chrome が最初にそれをチェックしないのかわかりません。