《高性能网站建设指南-前端工程师技能精髓》-读书笔记2(添加Expires头)

一、 添加 Expires

1、  Expires

浏览器(和代理)使用缓存来减少 HTTP 请求的数量,并减小 HTTP 响应的大小。 Web 服务器使用 Expires 头来

告诉 Web 客户端它可以使用一个组件的当前副本,直到指定的间为止。

Apache 中添加 Expires 头的配置例子:

第一步:

LoadModule expires_module modules/mod_expires.so

第二步:

<IfModule expires_module>

   ExpiresActive on

   ExpiresByType image/gif "access plus 72 hour"

   ExpiresByType image/jpeg "access plus 72 hour"

   ExpiresByType text/css "now plus 24 hour"

   ExpiresByType text/html A86400

   ExpiresByType application/x-javascript "now plus 24 hour"

   ExpiresByType application/x-shockwave-flash "now plus 24 hour"

   ExpiresDefault A86400

</IfModule>

2、  Headers

HTTP1.1 引入了 Cache-Control 头来克服 Expires 头限制。因为 Expires 头使用一个特定的时间,它要求服务器和客户端的时钟严格同步。另外,过期日期需要经常检查,并且一旦未来这一天到来了,还需要在服务器配置中提供一个新的日期(针对的是下面的配置方式设置 Expires 头“ Header set Expires "Thu, 16 Apr 2010 20:00:00 GMT" ”) 。如果 Expires 头和 Headers 头同时配置,则 Headers 头中 Cache-Control max-age 会重写 Expires 头。

3、  修订文件名

如果组件配置为可以有浏览器代理缓存,当这些组件改变时用户如何获得更新呢?建议对组件采用版本号的方式命名,这样当用户发出新请求时就会对新的组件进行请求,而不会采用本地的缓存组件(将版本号嵌在组件文件名中会带来一些复杂度,怎样修改文件名即能修改网站内全部对应的组件名)

Expires 的示例

http://stevesouders.com/hpws/expiresoff.php

长久的 Expires 的示例

http://stevesouders.com/hpws/expireson.php

 

注:以上方法不适用于第一次访问、手动或软件清空缓存或没有采用页面缓存技术的情况

另外如果页面不存在动态信息,则可以将 HTML 做缓存。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值