免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1497 | 回复: 0
打印 上一主题 下一主题

Expires的应用不仅仅限于图片 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-12-24 13:20 |只看该作者 |倒序浏览
    为图片使用长久的Expires头非常之普遍,但这一最佳实践不应该仅限于图片。长久的头应该包含任何不经常变化的组件,包括脚本、样式表和Flash组件。但是,HTML文档不应该使用长久的Expires头,因为它包含动态内容,这些内容在每次用户请求时都将被更新。
    理想情况下,页面中的所有组件都应该具有长久的Expires头,并且后续的页面浏览中只需为HTML文档进行一个HTTP请求。当文档中的所有组件都是从浏览器缓存中读取出来时,响应时间会减少50%或更多。
    我调查了美国十大Internet网站,并记录了有多少图片、脚本和样式表使用了Expires或头并设置了至少30天以上。如表3-2所示,但这看起来并不好。
    这里统计了三类组件—图片、样式表和脚本。表3-2展示了可缓存30天以上的组件和对应的每种类型组件的总数。我们来看一下这些网站在实践缓存组件时采用的时间范围:
5个网站使其大部分图片可缓存30天以上。
4个网站使其大部分样式表可缓存30天以上。
2个网站使其大部分脚本可缓存30天以上。


    表3-2中的整体百分比指出,所有组件中74.7%或者是不可缓存的,或者可缓存但时间不超过30天。一种可能的解释是,这些组件是不应该缓存的。例如像cnn.com这样的新闻网站,其138个图片0个可缓存,可能是有太多的新闻图片,由于需要更新,这些图片会经常刷新,而不是缓存在用户的浏览器中。如果组件是因为经常变化而不被缓存.我们期望看到很近的Last-Modified日期。

表3-2展示了所有未缓存组件的Last-Modified增量(当前日期和Last-Modified日期之间的差)中值。在这里cnn.com的Last-Modified增量中值是227天。一半的未缓存组件天以来都没有更改过,因此图片的刷新并不是问题所在。
    这也是Yahoo!过去的情况。过去,Yahoo!没有任何可缓存的脚本、样式表和图片。不缓存这些组件背后的逻辑是,用户应该每次都请求它们以便获得更新,因为它们经常改变。然而.在发现实际上这些文件改变得不那么频繁之后,我们意识到将它们缓存起来可以得到更好的用户体验。来源:北京(万博永信)网站建设公司
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP