304状态码的相关详细介绍
2010-05-30 17:51
155 查看
在了解304状态码之前,我们首先来了解下,蜘蛛和爬虫类的工作机制!
蜘蛛和爬虫类的工具在对网站进行相关的抓取的时候经常要对页面进行监控和解析,其中监控就是检查页面内容是否发生了更新。之前湖南SEO研究中心发布过一篇:百度怎样判断你网站的更新!这篇文章里也提到了304状态码!
判断网页是否发生变化最直接的方法是设置页面的某一处为监控区域,每次都抓取该部分区域的内容,然后与本地保存的或最近一次抓取内容比较,如果有差异就表明网页发生了变化,才可以进行解析。这种方法比较稳妥,几乎可达到万无一失的效果。但是,这种方式在每次扫描时都要下载页面内容,并且要去截取监控区域的内容,最后还要进行字符串比较,整个过程比较耗时。其实在众多网页中,有一部分网站的网页内容是静态页面,如图片,html,js等,这些静态页面往往可能是服务器早已准备好的,用户访问时仅仅是下载而已。那么针对这种静态页面,就可以仅仅通过状态码来判断,内容是否发生了变化。
这个状态码就是304(Not Modified),对于这个代码的解释是”如果客户端发送了一个带条件的 GET 请求且该请求已被允许,而文档的内容(自上次访问以来或者根据请求的条件)并没有改变,则服务器应当返回这个状态码”。
很明显通过这个解释,我们就明白了,简单来讲:通常,在网页发生变化时,服务器会返回状态码200,而未发生变化则返回304。
蜘蛛和爬虫类的工具在对网站进行相关的抓取的时候经常要对页面进行监控和解析,其中监控就是检查页面内容是否发生了更新。之前湖南SEO研究中心发布过一篇:百度怎样判断你网站的更新!这篇文章里也提到了304状态码!
判断网页是否发生变化最直接的方法是设置页面的某一处为监控区域,每次都抓取该部分区域的内容,然后与本地保存的或最近一次抓取内容比较,如果有差异就表明网页发生了变化,才可以进行解析。这种方法比较稳妥,几乎可达到万无一失的效果。但是,这种方式在每次扫描时都要下载页面内容,并且要去截取监控区域的内容,最后还要进行字符串比较,整个过程比较耗时。其实在众多网页中,有一部分网站的网页内容是静态页面,如图片,html,js等,这些静态页面往往可能是服务器早已准备好的,用户访问时仅仅是下载而已。那么针对这种静态页面,就可以仅仅通过状态码来判断,内容是否发生了变化。
这个状态码就是304(Not Modified),对于这个代码的解释是”如果客户端发送了一个带条件的 GET 请求且该请求已被允许,而文档的内容(自上次访问以来或者根据请求的条件)并没有改变,则服务器应当返回这个状态码”。
很明显通过这个解释,我们就明白了,简单来讲:通常,在网页发生变化时,服务器会返回状态码200,而未发生变化则返回304。
相关文章推荐
- 网卡配置和DNS配置,手动挂在nas存储的共享目录,网络相关其它操作命令,修改防火墙中的端口配置,resolv.conf配置详细介绍和网卡信息配置详细介绍
- jquery1.83 之前所有与异步列队相关的模块详细介绍
- Centos 7之Firewalld相关命令详细介绍
- solr6.1-----相关配置-详细介绍-启动-全文检索
- 相位相关算法的详细介绍(一)
- Python操作注册表相关步骤详细介绍
- \t\tSEO相关:关键词优化详细介绍 ( 优化 网站 访问 )
- Math.random() 及其相关函数的详细介绍
- SQL Server 日期相关资料详细介绍
- Docker中镜像构建文件Dockerfile与相关命令的详细介绍
- 详细介绍linux字符驱动相关内容
- jquery1.83 之前所有与异步列队相关的模块详细介绍
- Nginx-----相关配置-详细介绍
- 一起谈.NET技术,详细述说ADO超时相关问题介绍
- C 中的 time 相关函数详细介绍
- Spring 相关jar包详细介绍
- PL/SQL详细介绍,设置oracle相关
- Linux文件相关命令详细介绍
- 详细介绍MPLS路由协议的相关概念知识
- Spring 相关jar包详细介绍【转载】