web-dev-qa-db-ja.com

Chromeはimages / js / cssをキャッシュしません

Chrome=私のウェブサイトをロードするとき、サーバーはファイルを更新する前にそれらを表示する前にチェックします。(Images/Javascript/CSS)外部JavaScriptを編集しないため、 cssまたは画像。

私がやりたいのは、サーバーをチェックすることなく画像を表示することです。

ヘッダーは次のとおりです。

Connection:keep-alive    
Date:Tue, 03 Aug 2010 21:39:32 GMT    
ETag:"2792c73-b1-48cd0909d96ed"    
Expires:Thu, 02 Sep 2010 21:39:32 GMT    
Server:Apache/Nginx/Varnish

サーバーをチェックしないようにするにはどうすればよいですか?

57
Roger

リクエストヘッダーはどのように見えますか?

Chromeは、リクエストのCache-Controlヘッダーにmax-age:0を設定します ロケーションバーでEnterキーを押した場合 。ハイパーリンクを使用してページにアクセスする場合、期待どおりにキャッシュを使用する必要があります。

85
Jacob Krall

また、開発者ツールで「キャッシュを無効にする」チェックボックスをオンにしました。図を移動します。

75
Sabrina Leggett

うわー!私はかなり長い間同じ問題に直面していました。

この問題に直面した理由を説明します。ヘッダーは問題ありません。ページを更新しようとしているため、304を受け取ります。主に3つの方法があります-

  1. アドレスボックスでEnterキーを押します。 chromeは最初にキャッシュからファイルを読み取り、サーバーにはまったくアクセスしません。

  2. F5を押すと、ファイルが古くなっているかどうかが確認されます(おそらく更新されている方法です)

  3. Ctrl + f5を押します。これは、すべての静的リソースの無条件のリロードです。

基本的に-アドレスバーのリターンキーを押す必要があります。これが機能するかどうかを教えてください。

57
tusharmath

私にとっては、自己署名証明書でした。

https://code.google.com/p/chromium/issues/detail?id=110649

上記のリンクで、Chromium開発者がバグをマークしました:#WontFixルールは次のとおりです。「証明書のエラーは、ページがキャッシュされないことを意味します。」

したがって、Chromeは自己署名証明書を持つサーバーからのリソースをキャッシュしません。

28
Vanuan

Chrome= JS/CSSファイルをキャッシュする場合-サーバーは「Cache-Control」ヘッダーを設定する必要があります。次のようになります。

Cache-Control:max-age = 86400(1日間リソースをキャッシュしたい場合)。

4
Rahul

あなたが探していると思う

Cache-Control: immutable

1
Ashutosh Sharma