Loading
0

彭致杰SEO:ETag简介与在SEO方面的应用

技术小学生微信公众号
腾讯云服务器大促销。
华为服务器

  之前在《高性能网站建设指南》中了解过ETag,但一直没有应用。昨晚看到百度站长平台在大力推荐ETag,忽然有一种凌凌漆接到国家任务的感觉。

  1. 什么是ETag

  ETag全称为Entity Tag,中文名为实体标签,是Web服务器和浏览器用于确认缓存组件有效性的一种机制。

  ETag是结合对象修改时间,对象大小,INode等特征的一个字符串,于HTTP1.1引入,相对于Last-Modified,提供了比最新修改日期更为灵活的机制。

  ETag目前主要应用于静态资源,比如图片,JS和CSS文件。

  2. ETag原理

  当用户发送HTTP请求时,浏览器会使用If-None-Match头将ETag值传回服务器,如果ETag匹配,则返回304状态码;否则返回200,并传输HTTP内容。

  简单示意图如下:

  ETag流程图

  注:ETag最常用在静态资源上,比如图片,JS和CSS文件。据说网页上也可以使用ETag,但观察了几个大型网站都没有使用,尚不知道原因。

  3. 遇到的问题和方法

  3.1 集群带来的准确性问题

  ETag的默认格式是inode-size-timestamp,这也意味着在集群中,即便对象大小,权限,时间戳,路径全都相同,inode和ETag也会不同。也就是说对于同样的组件,从集群的一台切换到另一台,ETag就会不同。

  如果集群中有10台服务器,ETag匹配的准确率只有10%。

  3.2 解决方法

  那有没有办法解决集群的问题?答案是有的,需要对ETag进行修改,建议去掉inode,使用size+timestamp,或只使用timestamp的方式。

  百度官方也给出了Apache等服务器下的具体修改方法。

  3.3 计算带来的开支

  只要有计算就会带来额外的成本,但从百度官方提供的测试数据来看,CPU利用率会提高1%~3%,吞吐率基本不变,尚能接受。

  5. ETag对SEO的影响

  ETag如果配置合理,会大幅增加sitemap的利用率。百度对每个站点的主动抓取有数量限制的,目前情况下,爬虫无法准确区分sitemap中哪些是新增加了网址的,哪些是未改变的,这就造成sitemap利用率较低。有可能爬虫每天抓的都是万年不更新的sitemap文件,而我们新加了网址的sitemap却一直未抓取。

  而如果使用了ETag,爬虫会直接略过未改变的,返回304的sitemap文件,直接抓取最近改变过的sitemap,这样就提高了sitemap的利用率。

  据说sitemap权限以后会全面开放,因此ETag的应用无论是对站长还是百度都是很有帮助的。

  注:因ETag的配置暂未上线,还没有实战数据,之后会补充进来。

技术小学生微信公众号
华为服务器
腾讯云服务器大促销。

声明:站长码字很辛苦啊,转载时请保留本声明及附带文章链接:https://blog.tag.gg/showinfo-36-24146-0.html
亲爱的:若该文章解决了您的问题,可否收藏+评论+分享呢?
上一篇:阿明SEO:简析网页关键词布局与百度割词
下一篇:田野SEO:新网站上线前需要做哪些seo工作