分析HTTP请求返回304状态码

大家好,今天给大家分享一个状态码304,大家可能在以前的开发中打开chrome tools 或 firebug工具时有意间或无意间看到它。



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

转载自:http://blog.csdn.net/itpinpai/article/details/48181849

原文地址:https://www.cnblogs.com/1ning/p/6930148.html