博客园  :: 首页  :: 管理

ETag(Entity Tag)是HTTP协议中关于资源的一个标识

最主要的一个功能就是用于缓存验证:当客户端请求一个资源时,服务器会在Response中返回该资源的ETag

如下:我们向一个服务器第一次发起请求时,就能看到如下的 Response Headers,内容,其中就一个叫做ETag的

其中Etag的值为:651679a7-79

此时的请求头部信息为:

Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
Accept-Encoding:gzip, deflate
Accept-Language:zh-CN,zh;q=0.9
Cache-Control:no-cache
Connection:keep-alive
Host:192.168.113.130
Pragma:no-cache
Upgrade-Insecure-Requests:1
User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36

今天这里,主要是讲一下ETag的值是如何计算出来的,由上面的 651679a7-79 可以看出值是由 - 分隔的两部分组成

1、其中第一部分为 资源最后修改时间的时间戳转换成的16进制 ,高位在前,低位在后

2、第二部,为资源文件大小的值的,转换成的16进制数,也是高位在前,借位在后

注意点:如果计算出来的16进制如果只有1位字符,就会显示成1位,不会补0的,还有结果的字母为小写

 

 

 

尊重别人的劳动成果 转载请务必注明出处:https://www.cnblogs.com/5201351/p/17737038.html