《高性能网站建设指南》阅读笔记_规则3- 添加Expires头

使用Expires来设置浏览器缓存,就是到指定的时间为止一直访问缓存中的内容。另外在http1.1中引入了cache-control头来克服Expires头的限制,因为Expires头使用一个特定时间,它要求服务器和客户端的时钟严格同步,过期时间需要经常检查,并且一旦未来这一天到了,还需要在服务器配置中提供一个新的日期。

Cache-control使用max-age指定指定组件被缓存多久,它以秒为单位定义了一个更新窗。如果从组件被请求开始过去的秒数少于max-age,浏览器就使用缓存版本。

如果你同时指定了Expires和cache-control头,max-age指令将重写Expires头。

可以在页面上设置(只适用于html等页面,不适用于组件)

<!-- expires 表示网页在浏览者计算机缓存中的过期时间-->
<meta http-equiv="expires" content="Wed, 26 Feb 1997 08:21:57GMT">
<!-- 使用带有max-age的cache-control指定组件被缓存多久
-->
<meta http-equiv="cache-control"content="max-age=315360000">

 

可以通过iis设置:

必须是本地计算机上 Administrators组的成员或者必须被委派了相应的权限,才能执行下列步骤。作为安全性的最佳操作,最好使用不属于 Administrators组的帐户登录计算机,然后使用运行方式命令以管理员身份运行 IIS管理器

在命令提示符下,键入 runas /user:administrative_accountname “mmc%systemroot%\system32\inetsrv\iis.msc”

IIS为不同的文件设置不同的过期头

为静态文件(jscssimage)设置客户端缓存是前端优化的重要法则之一,通过IIS为静态文件设置过期头(Expires headers)很方便,

 1.打开IIS管理器;

 2.点击要设置的站点,在功能视图中双击HTTP响应标头,

3.然后点击打开对话框

但是这样操作,web的整个站的所有的静态文件的缓存时间都一样,如果我们希望为不同的静态文件添加不同的缓存时间,比如有些文件很久不改变希望缓存时间长些,有些希望缓存时间短些。

操作起来还是很简单,下面以添加某一个JS文件的缓存时间为例:

1.      IIS管理器下点击该文件的文件夹并切换到内容视图

 

2. 选中要设置的js文件,如上图的jquery-1.3.2.js,右键切换到功能视图,这时看到的IIS管理台内容是

双击上图的HTTP响应标头就可以像为整个站点设置过期时间一样的操作。

 

上面的操作最终还是生成web.config的配置,经过上面的设置你会发现在Script文件夹下生成了一个web.config配置文件,打开发现内容如下

这样就明白了通过上面在IIS管理器的“繁琐”的界面操作可以通过简单的web.config中配置即可,比如我要我整个Script文件夹设置统一的过期日期,只用添加一个location节即可

 

注意:
1. Cache-Control 具有优先权于Expires
2. 为了确保更新的组件在用户的浏览器中也更新(而不是使用缓存中的),解决方案是:将所有需要更新的组件更改文件名。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值