304状态码

原创 2015年11月18日 15:08:04

1定义
2什么情况下会返回304状态码
3如何从网站日志中分析304状态码
4304状态码的意义所在
1定义编辑

如果客户端发送了一个带条件的 GET 请求且该请求已被允许,而文档的内容(自上次访问以来或者根据请求的条件)并没有改变,则服务器应当返回这个304状态码.
简单的表达就是:客户端已经执行了GET,但文件未变化。
2什么情况下会返回304状态码编辑

客户端是怎么知道这些内容没有更新的呢?其实这并不是客户端的事情,而是你服务器的事情,大家都知道服务器可以设置缓存机制,这个功能是为了提高网站的访问速度,当你发出一个GET请求的时候服务器会从缓存中调用你要访问的内容,这个时候服务器就可以判断这个页面是不是更新过了,如果没有更新过那么他会给你返回一个304状态码。
例如:一些搜索引擎是如何知道我们的网站是否有更新。判断网页是否发生变化最直接的方法是设置页面的某一处为监控区域,每次都抓取该部分区域的内容,然后与本地保存的或最 近一次抓取内容比较,如果有差异就表明网页发生了变化,才可以进行解析。这种方法比较稳妥,几乎可达到万无一失的效果。但是,这种方式在每次扫描时都要下载页面内容,并且要去截取监控区域的内容,最后还要进行字符串比较,整个过程比较耗时。其实在众多网页中,有一部分网站的网页内容是静态页面,如图片,html,js等,这些静态页面往往可能是服务器早已准备好的,用户访问时仅仅是下载而已。那么针对这种静态页面,就可以仅仅通过304状态码来判断,内容是否发生了变化。
3如何从网站日志中分析304状态码编辑

例如某网站日志中有以下这样的一段:
2011-12-18 23:45:33 W3SVC7499849XX 61.145.116.XX GET /asyj/1112_5544.html - 80 - 123.125.71.78 Mozilla/5.0+(compatible;+Baiduspider/2.0;++http://*.baidu.coX/search/spider.html[1] ) 304 0 0
其实这段文字是这样理解的。
2011-12-18 23:45:33 ——代表访问的日期和时间。
W3SVC7499849XX ——代表虚拟主机的名称
61.145.116.XX ——代表访问ip
GET ——代表访问的方法
/asyj/1112_5544.html——代表具体访问的文件
80 ——代表访问的端口
123.125.71.78 ——代表来源ip
Mozilla/5.0+(compatible;+Baiduspider/2.0;++http://*.baidu.coX/search/spider.html) ——代表访问来源;这里是代表百度蜘蛛。注*换为w
304 ——304返回码。这个也是这里介绍的重点。这里表示客户端已经执行了GET,但文件未变化
前一个0 ——代表服务端传送到客户端的字节大小
后一个0 ——代表客户端传送到服务端的字节大小
从这一段日志。我们可以看出这次百度蜘蛛访问的结果的返回了一个304状态码。那么搜索引擎就不会对我们的页面进行再次抓取了
4304状态码的意义所在编辑

如果一个网站被搜索引擎抓取的次数以及频率越多那么他是越有利于排名的,但是如果你的网站出现太多的304,那么一定会降低搜索引擎的抓取频率以及次数,从而让自己的网站排名比别人落一步

版权声明:原创作品,欢迎转载!

HTTP 304状态码的详细讲解

HTTP 304错误状态码的详细讲解 304缓存策略及实现 网页web常见状态码:200,301,302,304,400,401,404,500...
  • huwei2003
  • huwei2003
  • 2017年04月12日 10:33
  • 3098

分析HTTP请求返回304状态码

大家好,今天给大家分享一个状态码304,大家可以在以前的开发中找开chrome tools 或 firebug工具时有意间或无意间看到它。HTTP 304: Not Modified 标准解释是:No...
  • itpinpai
  • itpinpai
  • 2015年09月02日 18:37
  • 19059

网络---关于HTTP 304状态码的理解

有时候我们使用七牛过程中会遇到对浏览器缓存下请求资源返回304的情况流量的计费的情况,这里就需要了解HTTP 304的响应状态的资源更新机制。首先看一个关于304请求的响应头的信息,这里面有两个比较重...
  • netdxy
  • netdxy
  • 2016年02月15日 23:43
  • 8239

HTTP 304 返回状态码的意思是什么

HTTP 304 错误 Not Modified 客户端有缓冲的文档并发出了一个条件性的请求(一般是提供If-Modified-Since头表示客户只想比指定日期更新的文档)。服务器告诉客户,原来缓...
  • gfangxiong
  • gfangxiong
  • 2012年04月01日 22:56
  • 18267

HTTP 304 状态码

功能:304页面未修改 自从上次请求后,请求的网页未修改过。服务器返回此响应时,不会返回网页内容。 如果网页自请求者上次请求后再也没有更改过,您应将服务器配置为返回此响应(称为 If-Modi...
  • njxdy
  • njxdy
  • 2013年08月15日 15:52
  • 722

http状态码大全304、201、203等等

常见HTTP状态码大全   我们经常会遇到404、500、302等提示,它们究竟是什么意思呢?除了这几个常见的状态码外,还有哪些我们没有遇到过的但有可能出现的状态码呢...
  • xufeiayang
  • xufeiayang
  • 2016年10月17日 09:40
  • 4801

200、302、304、404、500等HTTP状态码

必知的状态码:200 - 服务器成功返回网页 404 - 请求的网页不存在 503 - 服务器超时 访问 HTTP 状态码 W3C 页 获取更多信息。1xx(临时响应) 表示临时响应并需要请求者继续执...
  • xinxinNoGiveUp
  • xinxinNoGiveUp
  • 2017年11月04日 10:42
  • 246

http 301、302、304、400、405、415状态码解释

http 301、302、303、304、400、405、415状态码解释
  • wangjun5159
  • wangjun5159
  • 2016年04月25日 09:42
  • 15065

理解HTTP缓存和304状态码

最近研究nginx日志的时候,对于304这个状态码产生了好奇。之前一直知道3XX系列的状态码表示重定向,但对于304的具体原理没有仔细研究过。304 的标准解释是:客户端有缓冲的文档并发出了一个条件性...
  • canot
  • canot
  • 2017年07月30日 00:40
  • 1105

http状态码大全304、201、203等等

我们经常会遇到404、500、302等提示,它们究竟是什么意思呢?除了这几个常见的状态码外,还有哪些我们没有遇到过的但有可能出现的状态码呢?网站的http状态对于网站维护人员来说是相当重要的,当网站出...
  • suhuaiqiang_janlay
  • suhuaiqiang_janlay
  • 2017年03月09日 17:34
  • 150
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:304状态码
举报原因:
原因补充:

(最多只允许输入30个字)