规则3 添加Expires头

1. Expires and Max-Age

    a. Expires可以指示浏览器使用缓存组件直到有效期,通过指定一个特定有效期时间(Expires: Thu, 15 Apr 2010 20:00:00 GMT),需要考虑服务器和客户端同步性;

    b. Cache-Control使用max-age来指定缓存被缓存多久,指定的是一个相对时间,单位为秒(Cache-Control: max-age=315360000);

    c. Cache-Control优先级更高,同时存在时可以重写Expires,但是HTTP1.0不支持Cache-Control;

    d. mod_expires Apache模块可以让Expires和Cache-Control一样使用相对时间:

        <FilesMath "\.(gif|jpg|js|css)$">

    ExpiresDefault "access plus 10 years"

   </FilesMath>

         可以用年、月、周、日、小时、分钟、秒作为单位。

 

2. 不仅仅是图片

    长久的Expires头应该包含任何不经常变化的组件,包括脚本、样式表和flash组件。

 

3. 修订文件名

    设置了长久的Expires,当服务器更新组件时,可能通过修订组件文件名来让浏览器重新加载组件。

    php中可以为所有组件的文件名使用变量,在页面更新时只需要简单地在某个地方修改变量。

 

4. 如果一个组件没有长久的Expires头,它仍然会存储在浏览器缓存中,在后续请求中,浏览器会发送条件GET请求。(Last-Modified and If-Modified-Since)这些条件GET请求就会很浪费。

         

posted on 2013-04-12 16:46  BigPalm  阅读(200)  评论(0编辑  收藏  举报

导航