【发布时间】:2014-01-24 02:39:09
【问题描述】:
我使用 https 开发了一个托管在 IIS 8.5 中的 ASP.NET Web 应用程序。我使用fiddler跟踪请求和响应,发现css和js文件没有被浏览器缓存(IE 11)。对于网站的每个页面,这些文件将被再次下载。这是请求和响应。我的问题是为什么回复说“Cache-Control: no-cache”,我需要在 IIS 中设置什么吗?
GET https://***.com/Scripts/jquery-ui-1.8.20.js HTTP/1.1
Accept: application/javascript, */*;q=0.8
Referer: https://***.com/
Accept-Language: en-US
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko
Accept-Encoding: gzip, deflate
Host: ***.com
Connection: Keep-Alive
Cookie: __AntiXsrfToken=000b8dfbde4b40a68a19a2ee3fc1195a; ASP.NET_SessionId=qdhotusxrcchnaowhagzol1y
HTTP/1.1 200 OK
Cache-Control: no-cache
Transfer-Encoding: chunked
Content-Type: application/javascript
Content-Encoding: gzip
Last-Modified: Tue, 16 Jul 2013 09:41:03 GMT
Accept-Ranges: bytes
ETag: "e74a9b96882ce1:0"
Vary: Accept-Encoding
Server: Microsoft-IIS/8.5
X-Powered-By: ASP.NET
X-UA-Compatible: IE=edge
Date: Fri, 24 Jan 2014 02:28:24 GMT
【问题讨论】:
-
嗯,你每次都告诉
GET...服务器端 + 客户端代码彼此不相关,因此 AJAX 和 PHP 请求很长。跨度> -
@NicholasHazel 如何设置服务器端或客户端,以便修改时可以下载css和javascript?您在这里看到了 cache-control:no-cache,但我希望它被私下缓存。
-
我真的不确定。
server-side代码不是我的专长,我想不出有什么方法可以做到这一点locally。对不起:-( -
我发现虽然响应头中的缓存控件说没有缓存,但是当我再次下载页面时,我会得到一个状态码304,因为页面没有被浏览器修改和缓存。
标签: javascript asp.net css browser-cache