まず、私は同じことを言ってhereとhereオンラインいくつかのリソースが見つかりました:「通常の再読み込み」を実行しているときにChromeがメモリ内キャッシュを再検証しないのはなぜですか?
ソフト/ノーマルリロードのために、ブラウザは、ファイルが変更されたかどうかをチェックする、キャッシュを再検証します。
私はChromeでテストしました。 body
の最後にいくつかのjavascriptファイルをロードするウェブページindex.html
があります。リフレッシュボタン(ソフト/ノーマル)を押すと、ネットワークパネルからindex.html
が表示され、304 Not Modified
となりました。しかし、すべてのjavascriptファイルはステータスコード200のfrom memory cache
でロードされました。再検証はありません!
次に、JavaScriptファイルの1つを修正しようとしました。ソフトリロードしましたか?そして、何を推測する?そのファイルはまだメモリキャッシュからロードされました!
なぜChromeでこれが行われますか?それは、リフレッシュボタンの目的を破るものではありませんか?
Hereは、Chromeのメモリキャッシュに関する詳細です。
どのようにファイルを提供していますか?サーバーがキャッシュ制御ヘッダーを追加している可能性があります。キャッシュされたアセットの[ネットワーク]タブを確認し、ヘッダーを確認します。 –
「リフレッシュボタンの目的を破ることはできませんか?」そうではありませんか、それはハードリフレッシュの目的を破るでしょう。 – Keith
@Rob最初にリンクしたリソースは、キャッシュが期限切れになっていなくても、ソフトリロードがキャッシュの「再検証」を行うということです。アドレスバーからページを開くと、期限切れでない場合はキャッシュの再検証を行いません。 [ここ](https://www.raymond.cc/blog/refresh-webpage-with-soft-or-hard-reload-in-web-browsers/)を参照してください。キャッシュ制御が原因ではないはずです。 – Shawn