我注意到Chrome浏览器没有缓存CSS文件。我的应用程序由Angular-CLI构建,所有所需的缓存控制头和Expires头设置为5分钟:
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的资源在Chrome中不会被缓存。但在我的情况下,所有其他文件(如.js、.png文件)都在同一信道上运行,并被缓存。
Transfer-Encoding: chunked
是否会导致Chrome缓存方面的任何问题?虽然FireFox中可以正常工作。- gzip压缩与Chrome不兼容:https://github.com/expressjs/compression/issues/64