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状态码

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

理解HTTP缓存和304状态码

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

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

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

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

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

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

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

常见HTTP状态码(200,304,404等)

在网站建设的实际应用中,容易出现很多小小的失误,就像mysql当初优化不到位,影响整体网站的浏览效果一样,其实,网站的常规http状态码的表现也是一样,Google无法验证网站几种解决办法,提及到由于...

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

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

http的状态码 300-301-302-303-304-305-307

转载自:http://blog.sina.com.cn/s/blog_53853bc20101tdq8.html 300-3007表示的意思是:要完成请求,您需要进一步进行操作。通常,这些状态代...

HTTP 304状态码的详细讲解

HTTP 304错误状态码的详细讲解 304缓存策略及实现 网页web常见状态码:200,301,302,304,400,401,404,500...

Http Status 304响应状态的资源更新机制

http请求头和响应头之间的通信是有网络访问系统(如浏览器)来进行处理的,根据这样的请求头和响应头可以避免重复的资源(css,js,图片,文本等),提高用户体验。...
  • myfwjy
  • myfwjy
  • 2016年11月08日 16:30
  • 542
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:304状态码
举报原因:
原因补充:

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