当服务器资源返回 304 时与那些 HTTP 响应头有关
Issue 欢迎在 Gtihub Issue 中回答此问题: Issue 441
Author 回答者: buzuosheng
304 Not Modified,表示资源没有发生过改变。 与协商缓存有关,也就是Last-Modify和Etag两个http响应头,在获取资源之前先判断缓存资源是否发生过改变。 no-cache表示使用缓存资源时,都向服务器请求验证。 no-store才表示不使用任何形式的缓存。
Author 回答者: shfshanyue
再次请求时,需要向服务器校验新鲜度,如果资源是新鲜的,返回 304,从浏览器获取资源
client server
GET /a.js ----------->
<----------- 200 OK
GET /a.js ----------->
<----------- 304 Not Modified
与之相关的 Request/Response Headers 有以下几个
Last-Modified
/If-Modified-Since
Etag
/If-None-Match