gpt4 book ai didi

html - 为静态资源启用浏览器缓存

转载 作者:可可西里 更新时间:2023-11-01 17:02:17 24 4
gpt4 key购买 nike

为了提高站点性能,我在 IIS 7.5 中添加了以下 http header 。

Expires: Sun, 29 Mar 2020 00:00:00 GMT

Cache-Control: Public

我正在为站点虚拟目录中的 images 文件夹添加这些 header 。当我访问该站点时,我看到该文件夹​​中存在的每个图像;这些响应 header 是:

Accept-Ranges:bytes
Cache-Control:no-cache, no-store,Public
Content-Length:4445
Content-Type:image/png
Date:Fri, 06 Jun 2014 09:18:36 GMT
ETag:"16874c2af55ecf1:0"
Expires:-1,Sun, 29 Mar 2020 00:00:00 GMT
Last-Modified:Wed, 23 Apr 2014 13:08:48 GMT
max-age:604800
Pragma:no-cache
Server:Microsoft-IIS/7.5
X-Powered-By:ASP.NET

我需要浏览器从其缓存中获取这些图像,而不是再次从服务器请求。我该如何实现?

最佳答案

您的 header 显示您添加了一个新值,但您需要替换现有值

Cache-Control:no-cache, no-store,Public
Expires:-1,Sun, 29 Mar 2020 00:00:00 GMT

no-cache, no-store代表没有缓存,-1表示内容已经过期。

您可以轻松地将其设置在根 web.config 文件中,而不是从代码中进行设置

  <location path="images">
<system.webServer>
<staticContent>
<clientCache cacheControlMode="UseExpires"
httpExpires="Sun, 29 Mar 2020 00:00:00 GMT" />
</staticContent>
</system.webServer>
</location>
</configuration>

其中 images 是您的目录的名称

或者直接在目标目录下添加专用的web.config文件

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<staticContent>
<clientCache cacheControlMode="UseExpires"
httpExpires="Sun, 29 Mar 2020 00:00:00 GMT" />
</staticContent>
</system.webServer>
</configuration>

你也可以使用 cacheControlMode="UseMaxAge"并设置具体的过期时间

设置 7 天过期示例

<clientCache cacheControlMode="UseMaxAge" 
cacheControlMaxAge="7.00:00:00" />

阅读更多 http://msdn.microsoft.com/en-us/library/ms689443.aspx

关于html - 为静态资源启用浏览器缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24078343/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com