Last-Modified和ETag
last-Modified和ETag主要用于协商缓存中
Last-Modified / If-Modified-Since
Last-Modified
Last-Modified: Wed, 24 Apr 2019 02:54:16 GMT
- Last-Modified是服务器响应请求时,返回该资源文件在服务器最后被修改的时间
- Last-Modified是由服务器发送给客户端的HTTP请求头标签
If-Modified-Since
If-Modified-Since: Fri, 12 May 2006 18:53:33 GMT
- If-Modified-Since则是客户端再次发起该请求时,携带上次请求返回的Last-Modified值,通过此字段告诉服务器该资源上次请求返回的最后被修改时间。
- 服务器资源未变化时间一致就返回状态码304客户端就从浏览器缓存中获取
- 如果时间变化就返回新的资源结果,并返回200
E-Tag / If-None-Match
E-tag
- E-tag是服务器响应请求时,返回当前资源文件的一个唯一标识(由服务器生成)
If-None-Match
- If-None-Match是客户端再次发起请求时,携带上次请求返回的唯一标识Etag值,通过此字段值告诉服务器上一次请求返回的唯一标识值,
- 服务器根据If-None-Match值和该资源在服务器的etag值对比,一致就返回304,
- 不一致就返回新的资源结果,并返回200
优先级
E-tag > Last-Modified