https://blog.csdn.net/huwei2003/article/details/70139062

HTTP的状态码有很多种,主要有1xx(临时响应)、2xx(成功)、3xx(已重定向)、4xx(请求错误)以及5xx(服务器错误)五个大类,每个大类还对应一些具体的分类。平时我们接触比较多的是200、400、500等。

204 No Content

意思等同于请求执行成功,但是没有数据,浏览器不用刷新页面,也不用导向新的页面。如何理解这段话呢。还是通过例子来说明吧,假设页面上有个form,提交的url为http-204.htm,提交form,正常情况下,页面会跳转到http-204.htm,但是如果http-204.htm的相应的状态码是204,此时页面就不会发生转跳,还是停留在当前页面。另外对于a标签,如果链接的页面响应码为204,页面也不会发生跳转。

所以对于一些提交到服务器处理的数据,只需要返回是否成功的情况下,可以考虑使用状态码204来作为返回信息从而省掉多余的数据传输

304 Not Modified

304状态码或许不应该认为是一种错误,而是对客户端有缓存情况下服务端的一种响应。

整个请求响应过程如下:
客户端在请求一个文件的时候,发现自己缓存的文件有 Last Modified ,那么在请求中会包含 If Modified Since ,这个时间就是缓存文件的 Last Modified 。因此,如果请求中包含 If Modified Since,就说明已经有缓存在客户端服务端只要判断这个时间和当前请求的文件的修改时间就可以确定是返回 304 还是 200

对于静态文件,例如:CSS、图片,服务器会自动完成 Last Modified 和 If Modified Since 的比较,完成缓存或者更新。但是对于动态页面,就是动态产生的页面,往往没有包含 Last Modified 信息,这样浏览器、网关等都不会做缓存,也就是在每次请求的时候都完成一个 200 的请求

因此,对于动态页面做缓存加速首先要在 Response 的 HTTP Header 中增加 Last Modified 定义其次根据 Request 中的 If Modified Since 和被请求内容的更新时间来返回 200 或者 304。虽然在返回 304 的时候已经做了一次数据库查询,但是可以避免接下来更多的数据库查询,并且没有返回页面内容只是一个 HTTP Header,从而大大的降低带宽的消耗对于用户的体验也是提高

HTTP 204,304状态码相关推荐

  1. HTTP 304状态码讲解

    HTTP 304状态码的详细讲解 304状态码或许不应该认为是一种错误,而是对客户端有缓存情况下服务端的一种响应. 整个请求响应过程如下: 客户端在请求一个文件的时候,发现自己缓存的文件有 Last ...

  2. HTTP 304状态码的详细讲解

    HTTP 304状态码的详细讲解 304状态码或许不应该认为是一种错误,而是对客户端有缓存情况下服务端的一种响应. 整个请求响应过程如下: 客户端在请求一个文件的时候,发现自己缓存的文件有 Last ...

  3. HTTP Status Code 304 状态码的详细讲解

    HTTP 304状态码的详细讲解 304状态码或许不应该认为是一种错误,而是对客户端有缓存情况下服务端的一种响应. 整个请求响应过程如下: 客户端在请求一个文件的时候,发现自己缓存的文件有 Last ...

  4. 请解释一下http请求中的304状态码的含义

    请解释一下http请求中的304状态码的含义 304 未被修改. 自从上次请求后,请求的网页未被修改过.服务器返回此响应时,不会返回网页内容. 如果网页自请求者上次请求后再也没有更改过,你应将服务器配 ...

  5. http缓存机制之304状态码

    在网上看到一篇关于解释浏览器缓存更新机制304状态码的文章,里面说如果请求头中的If-Modified-Since字段和If-None-Match字段的值分别和响应头中的Last-Modified字段 ...

  6. 304状态码详解(协商缓存)

    304状态码详解(协商缓存) 上一篇文章针对不同的状态码做了一个整理,还说到要专门针对304做一个详解,于是与,今晚又来学习了. 首先说一下背景: 我们知道前端代码打包后需要部署到静态服务器上.客户端 ...

  7. 服务器状态304,解析304状态码错误提示的原因与解决304错误提示的方法

    对于第304页的错误,一直是SEO工作人员老生常谈的话题.初始网站管理员对304错误非常敏感.互联网上总是有与之相关的新闻,比如:大量的304状态码会在网站上被降级,但这是真的吗? 一.304错误提示 ...

  8. html 状态 304,网站频繁出现304状态码的原因

    原标题:网站频繁出现304状态码的原因 很多SEOER经常说网站日志反回值304是怎么回事? 经常会碰到站长们抱怨蜘蛛抓取返回码老是304状态,且抓取的次数越来越少的问题.搜索引擎为了自身的用户体验, ...

  9. express 跨域配置及报304状态码问题记录

    目录 跨域配置 304状态码问题 跨域配置 在express自动生成的目录中找到 app.js 增添如下代码 //设置跨域请求 app.all('*', function (req, res, nex ...

最新文章

  1. 安装和部署Exchange Server 2007
  2. 鸿蒙开发-从搭建todolist待办事项来学习组件与js之间的交互
  3. 【Linux】一步一步学Linux——which命令(45)
  4. 经典排序算法(3)——直接插入排序算法详解
  5. Java——编译与反编译
  6. Ken Thompson爷爷的经典复制自身代码程序 - Python版本(只用两行!)
  7. Java集合框架--List、Set、Map
  8. 闭式系统蒸汽管径推荐速度_干货 | 蒸汽管路中,管径和阀门如何选型?
  9. 拓端tecdat|R语言大数据分析纽约市的311万条投诉统计可视化与时间序列分析
  10. elipse手机设备显示Target unknown解决方法
  11. 怎么批量调整图片大小
  12. 【uniapp城市三级联动】包含完整代码-城市三级联动json
  13. mysql取消安全模式
  14. 超图申请试用以及激活
  15. Error in invoking target 'agent nmhs' of makefile
  16. Json 处理 - golang
  17. swfobject.js 2.2 使用方法
  18. 抽丝剥茧,C#面向对象快速上手
  19. 在TTL线下使用DD命令备份电视盒子各个分区教程
  20. 计算机系统分析员论文12篇

热门文章

  1. java 圈复杂度
  2. 没有期刊申请清华博士_清华大学官方:“博士生无须发表论文”理解有误!
  3. AWVS13的安装过程
  4. 微信小程序从开发到上线步骤(持续更新)
  5. windows触发器运行python脚本报错0x1问题解决办法
  6. Android常用官网,开发者社区,论坛
  7. matplotlib的常用的两种方式以及pylab
  8. Java学习-集合类
  9. LTE IPV6地址配置
  10. [基础]-向量点乘和叉乘