iis Chrome不会缓存CSS文件,.js文件工作正常

kb5ga3dv  于 2022-11-12  发布在  其他
关注(0)|答案(1)|浏览(139)

Chrome不会缓存我网站上的CSS文件,js文件缓存没有问题,但CSS每次都是从服务器加载的。服务器是IIS 8,在我的web.config中我有:

<location path="Content/dist">
<system.webServer>
  <staticContent>
    <clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="1.00:00:15" />
  </staticContent>
</system.webServer>

这该高速缓存设置为在1天内过期。在我的CSS文件的标题中,我可以看到它已经采取了如下内容:
缓存控制:最大年龄=86415
完整的标题如下:

Accept-Ranges: bytes
Cache-Control: max-age=86415
Content-Encoding: gzip
Content-Length: 78464
Content-Type: text/css
Date: Thu, 16 Aug 2018 11:46:30 GMT
ETag: "053689a4935d41:0"
Last-Modified: Thu, 16 Aug 2018 10:12:14 GMT
Server: Microsoft-IIS/8.5
Vary: Accept-Encoding
X-Powered-By: ASP.NET

在我的本地机器上,文件如预期的那样从缓存中读取,但是当我推送到服务器时,我有一个麻烦的行为。这只是CSS发生的情况,web.config中引用的同一个文件夹中的.js文件从缓存中加载。下面是这样一个文件的头。

Accept-Ranges: bytes
Cache-Control: max-age=86415
Content-Encoding: gzip
Content-Length: 3698
Content-Type: application/javascript
Date: Thu, 16 Aug 2018 11:45:44 GMT
ETag: "f7e1df9a4935d41:0"
Last-Modified: Thu, 16 Aug 2018 10:12:14 GMT
Server: Microsoft-IIS/8.5
Vary: Accept-Encoding
X-Powered-By: ASP.NET

Firefox也像我期望的那样从缓存中加载文件。
https://gyazo.com/3ba41707c00e7fb539f6b84cc90f70e0
网站URL:
https://devworks.cashbackforex.com/

uxhixvfz

uxhixvfz1#

我也遇到过类似的问题,结果发现web.config的compilation属性被设置为debug=true,因为-
<compilation debug="true"></compilation>
它会导致您的文件既不捆绑也不缓存在浏览器上。只是删除debug=true就解决了我的问题。所以我将其更改为-
<compilation></compilation>

编辑-

特别是对于Chrome,它可能与您的证书有关。
Chrome浏览器不会缓存来自具有自签名证书的服务器的资源。
See here

相关问题