YSlow—— 配置ETag

ETag简介

实体标签(Entity Tag),是server和browser确认缓存组件的有效性的一种机制。 
个人觉得,如果Expires是时间戳,ETag类似版本戳。 【见下图】: 



ETag带来的问题

ETag的问题在于,通常用组件的某些属性(大小、时间、等)来构造它,这些属性对于特定的、寄宿了网站的服务器来说是唯一的。
当浏览器从一台服务器上获取了原始组件,之后,又向另外一台不同的服务器发起请求时,ETag是不会匹配的。 
对于拥有多台服务器的网站,会大大降低有效性验证的成功率。 
如果ETag不匹配,用户就不会按照ETag设计的那样收到更小更快的304响应;
相反,他们会收到普遍的200响应以及组件的所有数据。 
如果你只用一台服务器上寄宿网站,这不是什么问题,但如果使用了服务器集群
 组件下载的次数可能比必须下载的次数多得多,这将导致性能的下降。 
如果有n台服务器,ETag匹配的概率只有 1/n。 【见下图】: 



If-None-Match比If-Modified-Since具有更高的优先级。
实际上没有If-None-Match头反而会好一些。 
你会说“我的组件添加了长久的Expires头”。 
事实上,即使你的组件具有长久的Expires头,一旦用户单击Reload或者Refresh按钮,依然会产生get请求。 
【If-None-Match和If-Modified-Sinc见下图】: 

移除ETag

如何在Apache移除ETag: http://www.askapache.com/htaccess/apache-speed-etags.html 
只需添加一行配置就能移除ETag: FileETag none 

如何在IIS移除ETag:
 http://www.bytestopshere.com/post.cfm/disable-remove-etags-on-iis-6-to-improve-performance
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值