2017-09-13 8 views
2

私は、CSSファイルがChromeブラウザにキャッシュされていないことを確認しています。私のアプリケーションは、角度-CLIによって構築され、必要なすべてのCache-Controlヘッダと5分に設定Expiresヘッダをされています。期待通りに同じレスポンスヘッダに設定されているクロムがcssファイルをキャッシュしていません。キャッシングは.js/.pngファイルで機能します。

Accept-Ranges:bytes 
Cache-Control:max-age=600 
Content-Encoding:gzip 
Content-Type:text/css 
Date:Wed, 13 Sep 2017 05:11:17 GMT 
ETag:W/"441246-1505278984000" 
Expires:Wed, 13 Sep 2017 05:21:18 GMT 
Last-Modified:Wed, 13 Sep 2017 05:03:04 GMT 
Server:Apache-Coyote/1.1 
Transfer-Encoding:chunked 
Vary:Accept-Encoding 

JSファイルがキャッシュされます。 FirefoxのMozillaにもcssファイルがキャッシュされています。 私はポストを通じて検索し、いくつかの記事の提案があった。すべてのSSLエラーが発生した場合、自己署名証明書を提示し、HTTPSでの作業

  1. リソースは時々クロームによってキャッシュされません。しかし、私の場合、.js、.pngファイルなどの他のファイルはすべて同じチャネルで操作され、キャッシュされます。

  2. Transfer-Encoding: chunkedはクロムでのキャッシュに問題がありますか? FireFoxでもうまく動作します。 https://github.com/expressjs/compression/issues/64

任意のポインタ/提案を:

  • gzip圧縮は、Chromeでうまく動作しないのですか?

  • 答えて

    1

    レスポンスヘッダーがTransfer-Encoding:chunkedの場合、Chromeはリソースファイルをキャッシュしないようです。この応答ヘッダーは、リソースファイルが小さいサイズであっても設定されていました。私はヘッダがhttpサーバの設定に応じて自動的に設定されると思います。

    HTTPプロトコル設定を設定するためにサーバー構成を制御することができないため、 は応答ヘッダー:Transfer-Encoding: identityの設定を終了しました。この設定はファイルのサイズに基づいている可能性があります。 この応答ヘッダーでは、httpサーバーはヘッダーをさらに変更しないで、Content-Lengthヘッダーにも追加します。応答でContent-Lengthヘッダーを使用すると、Chromeにリソースファイルをキャッシュできるという明確な画像が表示されます。

    0

    同じWebサイトで同じ問題が発生していますが、同じWebアプリケーションを別のWebサイト(同じIIS上)に配置すると、キャッシュされたものがすべて取得されます。 アプリケーションプールのリサイクルは役に立たなかった。

    IISの停止と起動後、両方のWebサイトでCSSとJSファイルがChromeにキャッシュされるようになりました。私を打ち負かすが、試してみることができる。

    +0

    はい、正しいかもしれません。これは、HTTPサーバーの設定と関係しています。私の場合、私はサーバー設定に対する自由/アクセス権を持っていないので、私はJSファイルのレスポンスヘッダ 'Transfer-Encoding:identity'を設定します。 – Nilesh

    関連する問題