高性能web网站优化原则3——增加Expires头

Expires头
浏览器使用cache来减少http请求并降低响应内容的大小,使得页面加载速度更快。web服务器使用Expires头来通知web客户端它可以使用当前已cache的组件直到时间超期。http规范中是这么描述的:the date/time after which the response is considered stale.由http响应发送给客户端 Expires: Thu, 19 Jun 2016 20:00:00 GMT
如果这个是在下载页面中图片的时候返回的,那么浏览器就会在后续的页面中使用cache中的图片。从而减少了http请求数量。

Max-Age
Cache-Control头是在HTTP/1.1中被引入的,目的是为了克服Expires的局限性。因为Expires指定了一个具体的日期,要求在服务器和客户端之间有严格的时钟同步要求。同时,到期日期必须经常检查,当快临近到期日期时,必须在服务器设置一个新的日期。
另外Cache-Control使用max-age指令来指定一个组件被cache多长时间,它以秒级别来定义,如果客户端请求的cache组件小于max-age指定的秒,浏览器就用cache的版本,这样避免了额外的http请求。可以指定10年时常,例如:Cache-Control: max-age=315360000
如果同时指定Cache-Control max-age和Expires,那么max-age会覆盖Expires

修改文件名
如果页面组件被浏览器cache的话,用户如何获取最新的组件?当设定Expires之后,如果过期时间很长,浏览器就会一直用cach的版本。这也是使用Expires可以显著的减少浏览器响应时间的原因,它直接从磁盘读取cache的组件而不会产生任何的http流量。然而,即使更新了服务器组件,用户也很可能不会使用更新过的组件,因为先前的版本仍然在cach中。为了确保用户取得最新版本的组件,在html文档中更改组件文件名是一个不错的方法。例如将example_1.0.js改为example_2.0.js
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值