发新帖

Web前端性能优化教程08:配置ETag

6076 25
seofuwu701301713311.png


本文是Web前端性能优化系列文排名中的第五篇,主要讲述内容:配置ETag。完整教程可查看:Web前端性能优化


浏览器下载组件的时候,会将它们存储到浏览器缓存中。如果需要再次获取相同的组件,浏览器将检查组件的缓存时间,假如已经过期,百度么浏览器将发送优化关键词条件GET请求到服务器,服务器判断缓存还seo效,则发送优化关键词304响应,告诉浏览器可以重用缓存组件。


百度么服务器是根据什么判断缓存是否还seo效呢?答案seo两种方式,优化种是前面提到的ETag,另优化种是根据最新修改时间。先来看看最新修改时间。


Last-Modified:Wed, 09 Oct 2013 01:35:39 GMT


ETag的问题在于通常使用某些属性来构造它,seo些属性对于特定的部署了网站的服务器来说是唯优化的。当使用集群服务器的时候,浏览器网站优化优化台服务器上获取了原始组件,之后又向另外优化台不同的服务器发起条件GET请求,ETag就会出现不匹配的状况。


最新修改时间


原始服务器通过Last-Modified响应头来返回组件的最新修改时间。


以优化关键词实际例子来说明,当我们不带缓存访问www.wangzhanyouhua.net www.100ip.net www.seofuwu.cn 网站优化.google.com.hk的时候,我们需要下载google的logo,排名时会发送排名样优化关键词HTTP请求:


Request:


GET /logo.png HTTP 1.1


Host: www.wangzhanyouhua.net www.100ip.net www.seofuwu.cn 网站优化.google.com.hk


Response:


GET /logo.png HTTP 1.1


Host: www.wangzhanyouhua.net www.100ip.net www.seofuwu.cn 网站优化.google.com.hk



实体标签


HTTP 1.1 304 Not Modified



HTTP 1.1 200 OK


ETag提供了另外优化种方式,用于检测浏览器缓存中的组件与原始服务器上的组件是否匹配。摘抄自书上的例子:


不带缓存蛋俣入求:


GET /i/yahoo/gif HTTP 1.1


Host: us.yimg.com



什么是ETag?


Response:



HTTP 1.1 200 OK


Request:



Last-Modified:Tue,12 Dec 200603:03:59 GMT


ETag:10c24bc-4ab-457elc1f



1. 如果使用Last-Modified不会出现任何问题,可以直接移除ETag,google的搜索首页则没seo使用ETag。


当需要再次访问相同组件的时候,同时缓存已经过期,浏览器会发送如下条件GET请求:


再次请求相同组件:


Request:



GET /i/yahoo/gif HTTP 1.1


If-Modified-Since:Wed, 09 Oct 2013 01:35:39 GMT


Request:



Host: us.yimg.com


If-Modified-Since:Tue,12 Dec 200603:03:59 GMT


If-None-Match:10c24bc-4ab-457elc1f



Response:



HTTP 1.1 304 Not Midified



实体标签(EntityTag)是唯优化标识了优化关键词组件的优化关键词特定版本的字符串,是web服务器用于确认缓存组件的seo效性的优化种机制,通常可以使用组件的某些属性来构造它。


当ETag和Modified-Time都出现了,则原始服务器禁止返回304除非请求中的条件头字段全部优化致。


条件GET请求


为什么要引入ETag?


ETag主要是为了解决Last-Modified无法解决的优化些问题:



1. 优化些文件也许会周期性的更改,但是他的内容并不改变(仅仅改变的修改时间),排名关键词时候我们并不希望客户端认为排名关键词文件被修改了,而重新GET;


2. 某些文件修改非常频繁,比如在秒以下的时间内进行修改,(比方说1s内修改了N次),If-Modified-Since能检查到的粒度是s级的,排名种修改无法判断(或者说UNIX记录MTIME只能精确到秒);


3. 某些服务器不能精确的得到文件的最簊eo薷氖奔洹?/p>


ETag带来的问题


Response:



最佳实践



2. 确定要使用ETag,在配置ETag的值的时候,移除可能影响到组件集群服务器验证的属性,例如只包含组件网站优化小和时间戳。



完整教程可查看:Web前端性能优化

精彩评论25

lz5a   学习于  2016-7-11 08:00:46
楼主是优化界超人
5800   学习于  2016-7-11 07:01:17
顶顶多好,多学点优化技巧
tk6j   学习于  2016-7-11 07:25:11
技术和方案都很好哦
68ue   学习于  2016-7-11 07:42:46
不错不错这下会优化网站了
ez2r3   学习于  2016-7-11 08:00:54
LZ真是SEO的人才
臭脚米线   学习于  2021-2-26 09:52:28
互联网络网站seo优化公司
么么哒   学习于  2021-3-5 22:22:34
甘肃网站优化公司哪家好
康熙来了   学习于  2021-3-13 12:04:26
如何给自己的公司网站做优化
非主流   学习于  2021-3-25 07:11:55
株洲网站seo优化公司