美文网首页
ETag简介与作用2020-07-16

ETag简介与作用2020-07-16

作者: 哟哟哟琳琳 | 来源:发表于2020-07-16 18:15 被阅读0次

ETag简介与作用

一、ETag简介

ETag是URL的tag,用来标示URL对象是否改变。这样可以应用于客户端的缓存:服务器产生ETag,并在HTTP响应头中将其传送到客户端,服务器用它来判断页面是否被修改过,如果未修改返回304,无需传输整个对象。

二、现在站点Sitemap存在的问题

1、发现更新不及时

当站点或其Sitemap发生更新时,百度难以及时发现并响应,因为百度难以无时无刻地持续检查站点内容和Sitemap是否更新。

2、全量抓取,消耗带宽

现在百度对站点Sitemap的抓取会将Sitemap文件完整下载下来,鉴于Sitemap文件一般较大,而这种下载可能存在多次,故比较消耗网站的流量和带宽。

三、ETag的作用

HTTP1.1用ETag来判断请求的文件是否被修改,主要为了解决Last-Modified无法解决的一些问题

1、一些文件也许会周期性的更改,但是他的内容并不改变(仅仅改变的修改时间),这个时候并不希望客户端认为这个文件被修改了重新GET;

2、某些文件修改非常频繁,1秒内修改了N次,If-Modified-Since能检查到的粒度是秒级的,这种修改无法判断;

3、某些服务器不能精确的得到文件的最后修改时间;

为此,HTTP1.1引入了ETag.但标准并没有规定ETag的内容是什么或者说要怎么实现,唯一规定的是ETag需要放在双引号内。ETag由服务器端生成,客户端通过If-Match或者说If-None-Match这个条件判断请求来验证资源是否修改。我们常见的是使用If-None-Match.请求一个文件的流程可能如下:

第一次请求:

1.客户端发起HTTP get请求一个文件

2. 服务器处理请求,返回文件内容和一堆Header,当然包括ETag(例如"1ec5-502264e2ae4c0")(假设服务器支持ETag生成和已经开启了ETag).状态码200。

第二次请求:

1.客户端发起HTTP GET请求一个文件,这个时候客户端同时发送一个If-None-Match头,这个头的内容就是我们第一次请求时服务器返回的ETag:1ec5-502264e2ae4c0

2.服务器判断发送过来的ETag和计算出来的ETag是匹配的,不返回200,返回304,让客户端继续使用本地缓存。

四、站点启用ETag的好处  

1、Sitemap启用ETag后,百度就可以快速的知道Sitemap的更新。在内容没有做更改的情况下,服务器只发回304应答头,对流量的消耗极小。平均每个head在227B大小的通常下,如果24个小时每秒回应的流量消耗仅为18.7M。

2、站长平台对每个站点的Sitemap主动抓取次数是有上限的,且 这项功能没有对所有站点开放,如果你的站点Sitemap开启了ETag,并通过了测试,就可以用较小的流量享受百度及时更新网站的Sitemap的功能。

相关文章

  • ETag简介与作用2020-07-16

    ETag简介与作用 一、ETag简介 ETag是URL的tag,用来标示URL对象是否改变。这样可以应用于客户端的...

  • 浏览器缓存机制

    看看百度来的简介:HTTP协议规格说明定义ETag为“被请求变量的实体值”。另一种说法是,ETag是一个可以与We...

  • wifidog认证源码分析Lighttpd1.4.20源码分析之

    etag的全称是entity tag(标记实体值),在RFC2616中关于etag的定义如下: The ETag ...

  • 过期时间与etag

    头信息 Expires 响应头例如: Expires:Fri, 11 Nov 2016 06:56:15 GMT在...

  • etag

    http://blog.csdn.net/liaozhongping/article/details/51114264

  • etag

    http://blog.csdn.net/kikikind/article/details/6266101 Eta...

  • Etag

    Etag HTTP响应头是资源的特定版本的标识符。这可以让缓存更高效,并节省带宽.因为如果内容没有改变,Web服务...

  • ETag

    首部字段ETag能告知客户端实体标识。它是一种可将资源以字符串形式做唯一性标识的方式。服务器会为每份资源分配对应的...

  • webView网络缓存1 - ETag

    什么是”Etag”? - Entity Tags HTTP 协议规格说明定义ETag为“被请求变量的实体值” 。...

  • HTTP协议缓存机制

    缓存相关的请求头 Last-Modified Expires Cache-Control ETag 区别与联系 L...

网友评论

      本文标题:ETag简介与作用2020-07-16

      本文链接:https://www.haomeiwen.com/subject/pkdmhktx.html