问题描述
要改善网站性能,我添加以下IIS 7.5中的HTTP标头。
To improve the site performance, I'm adding following http headers in IIS 7.5.
过期
:孙,2020年3月29日00:00:00 GMT
和的Cache-Control
:公开
我在网站的虚拟目录添加这些标头图片
文件夹中。
当我访问该网站,我看到这个文件夹中的每个图像present;这些响应头为:
I'm adding these headers for images
folder in site's virtual directory.When I access the site, I see that for each image present in this folder; those response headers were:
接受-范围:字节
缓存控制:无缓存,无店铺,公共
内容长度:4445
内容类型:图像/ PNG
日期:星期五,2014年6月6日九时18分36秒GMT
ETag的:16874c2af55ecf1:0
到期日:-1,孙,2020年3月29日00:00:00 GMT
最后一次修改:星期三,2014年4月23日13时08分48秒GMT
最大年龄:604800
编译:无缓存
服务器:Microsoft-IIS / 7.5
的X已启动方式:ASP.NET
我需要浏览器从它的缓存,而不是从服务器再次请求,采取这些图像。我应该如何实现呢?
I need browser to take these images from it's cache instead of requesting again from server. How should I achieve it?
推荐答案
您标题显示你添加一个新值,但你需要替换现有的
Your header shows that you add a new value but you need to replace the existing one
Cache-Control:no-cache, no-store,Public
Expires:-1,Sun, 29 Mar 2020 00:00:00 GMT
无缓存,无店铺
表示无缓存和 1
表示,内容已经过期
no-cache, no-store
stands for no cache and -1
says that the content is already expired.
而不是从code做的,你可以很容易地将它设置在根web.config文件
Instead of doing it from the code you can easily set it in the root web.config file as
...
<location path="images">
<system.webServer>
<staticContent>
<clientCache cacheControlMode="UseExpires"
httpExpires="Sun, 29 Mar 2020 00:00:00 GMT" />
</staticContent>
</system.webServer>
</location>
</configuration>
如果照片是你的目录的名称
where images is a name of your directory
或直接在目标目录中添加专用的web.config文件
or add dedicated web.config file directly in the target directory
<?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,并设置到期的具体时间
You can also use cacheControlMode="UseMaxAge" and set specific time of expiration
举例设置过期7天
<clientCache cacheControlMode="UseMaxAge"
cacheControlMaxAge="7.00:00:00" />
了解更多
这篇关于启用静态资源的浏览器缓存的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!