HTTP中的ETag是一种为Web资源分配的标识符,用于帮助判断资源是否已经被修改
▥前端
𝄐 0
HTTP中的ETag是一种为Web资源分配的标识符,用于帮助判断资源是否已经被修改。当客户端请求某个资源时,服务器可以在响应中包含一个ETag头来标识该资源。客户端在发送下一次请求时,可以将上一次响应中的ETag值作为If-None-Match头一起发送给服务器,如果服务器发现客户端发送过来的ETag与当前资源的ETag匹配,则返回304 Not Modified响应,告诉客户端可以直接使用缓存的版本。
例如,当一个浏览器第一次请求一个图片时,服务器可以在响应头中包含ETag头:
HTTP/1.1 200 OK
ETag: "abcdef"
Content-Type: image/jpeg
Content-Length: xxxx
当浏览器再次请求这个图片时,它会在请求头中包含If-None-Match头:
GET /path/to/image HTTP/1.1
If-None-Match: "abcdef"
如果服务器检查发现ETag值与当前资源相同,则返回如下响应:
HTTP/1.1 304 Not Modified
ETag: "abcdef"
这样,浏览器就可以直接从缓存中加载图片,而不必重新下载。
例如,当一个浏览器第一次请求一个图片时,服务器可以在响应头中包含ETag头:
HTTP/1.1 200 OK
ETag: "abcdef"
Content-Type: image/jpeg
Content-Length: xxxx
当浏览器再次请求这个图片时,它会在请求头中包含If-None-Match头:
GET /path/to/image HTTP/1.1
If-None-Match: "abcdef"
如果服务器检查发现ETag值与当前资源相同,则返回如下响应:
HTTP/1.1 304 Not Modified
ETag: "abcdef"
这样,浏览器就可以直接从缓存中加载图片,而不必重新下载。
本文地址:
/show-278258.html
版权声明:除非特别标注原创,其它均来自互联网,转载时请以链接形式注明文章出处。