详解HTTP返回的 304状态码

手册/FAQ (583) 2016-04-08 09:44:36

 

HTTP 304: Not Modified 
标准解释是:Not Modified 客户端有缓冲的文档并发出了一个条件性的请求(一般是提供If-Modified-Since头表示客户只想比指定日期更新的文档)。服务器告诉客户,原来缓冲的文档还可以继续使用。
如下图:

 

在请求头里有:If-Modified-Since: Mon, 17 Aug 2015 01:53:41 GMT

在响应头里有:Last-Modified: Mon, 17 Aug 2015 01:53:41 GMT

大家对比一下这二个日期发日期和时分秒都是完全一致的,如果一致就从缓存中去获取内容

我们在图片中看到了一个它cache-control 
如果cache-control:no-chache说明强制每次请求直接发送给源服务器,而不经过本地缓存版本的校验。
如果cache-control:max-age=0有二种情况:
1、max-age>0 时 直接从游览器缓存中 提取 
2、max-age<=0 时 向server 发送http 请求确认 ,该资源是否有修改有的话 返回200 ,无的话 返回304. 

第一次访问 200 
鼠标点击二次访问 (Cache) 
按F5刷新 304 
按Ctrl+F5强制刷新 200

THE END