304 的标准解释是:Not Modified 客户端有缓冲的文档并发出了一个条件性的请求(一般是提供If-Modified-Since头表示客户只想比指定日期更新的文档)。服务器告诉客户,原来缓冲的文档还可以继续使用。
如果客户端在请求一个文件的时候,发现自己缓存的文件有 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,从而大大的降低带宽的消耗,对于用户的感觉也是提高。
当这些缓存有效的时候,通过 HttpWatch 查看一个请求会得到这样的结果:
第一次访问 200
鼠标点击二次访问 (Cache)
按F5刷新 304
按Ctrl+F5强制刷新 200
如果是这样的就说明缓存真正有效了。以上就是我对 HTTP 304 的一个理解。

304 Not Modified 是什么意思相关推荐

  1. 304 Not Modified

    304 Not Modified,不是服务器发出的错误,是服务器所承载的业务系统在开发时为了节省带宽和提升浏览器的体验,对GET/js,css,image等执行了缓存机制.客户端第一次对服务器发出GE ...

  2. Where is ABAP Netweaver HTTP 304 not modified set

    Created by Jerry Wang, last modified on Mar 26, 2015 test1: test2: What does 304 Not Modified mean? ...

  3. SAP ABAP应用服务器返回给前端的304 not modified是怎么设置的

    Created by Jerry Wang, last modified on Mar 26, 2015 test1: test2: What does 304 Not Modified mean? ...

  4. HTTP 200 OK和HTTP 304 Not modified的由来

    这两个字段都和HTTP协议的缓存控制相关. 浏览器缓存机制是通过HTTP协议Header里的Cache-Control(或Expires)和Last-Modified(或 Etag)等字段来实现. 这 ...

  5. 200 OK (from cache) 与 304 Not Modified

    本文载于袁源(歪歪)的个人博客:http://www.bokeyy.com/post/200-ok-from-cache-vs-304-not-modified.html . 为什么有的缓存是 200 ...

  6. 返回状态码304 Not Modified详解

    第一次访问 200 鼠标点击二次访问 (Cache) 按F5刷新 304 按Ctrl+F5强制刷新 200 在客户端向服务端发送http请求时,若返回状态码为304 Not Modified 则表明此 ...

  7. HTTP 304: Not Modified

    HTTP 304: Not Modified :Not Modified客户端有缓冲的文档并发出了一个条件性的请求(一般是提供if-Modified-Since头表示客户只想比指定日期更新的文档).服 ...

  8. 304 Not Modified详解

    第一次访问 200  鼠标点击二次访问 (Cache)  按F5刷新 304  按Ctrl+F5强制刷新 200 在客户端向服务端发送http请求时,若返回状态码为304 Not Modified 则 ...

  9. HTTP statusCode 200 OK 和 304 Not Modified

    场景 启动Node服务器之后,GET一个文件资源,多次刷新发现除了第一次,之后的相应码皆为304. 响应分为五类:信息响应(100–199),成功响应(200–299),重定向(300–399),客户 ...

  10. 304 not modified 缓存问题解决

    304 not modified 缓存问题解决   问题引入:一个普通的get请求,当点击按钮,发送第二次请求,Status变为304 not modified,不在是200   解决方法:需在url ...

最新文章

  1. 小蓝发布带屏幕的单车,瞄准精准广告媒体平台
  2. linux 产生0~2之间的随机数
  3. MySQL数据库服务器优化详细
  4. JavaScript学习总结(七)——JavaScript函数(function)
  5. python中有哪些重要的书写规则_一文读懂Python代码的书写规范
  6. 照片快照清除 android,如何在Android中删除和恢复照片
  7. 计算机学院会会,欢迎访问武汉理工大学计算机科学与技术学院
  8. 安装logstash-7.9.3和filebeat-7.9.3
  9. A2D JS框架 - loadScript实现
  10. 2021年安全生产模拟考试(全国特种作业操作证电工作业-高压电工模拟考试题库一)
  11. 用java实现学生成绩管理系统_学生成绩管理系统(java实现)
  12. 易用宝项目记录day8-Excel的导入导出
  13. Drools7.5.0教程-目录
  14. SC16IS750在STM32的应用
  15. MPB:南农韦中组-​根系分泌物调控土壤微生物群落结构和功能的研究方法
  16. android studio调试时在断点停不下来
  17. Unity Shader 之 简单 护盾Shield 效果的实现
  18. 根据E-R图设计数据库表
  19. Elasticsearch:从写入原理谈写入优化
  20. ImageMagick将多张图片拼接成一张图片_爱剪辑如何把图片制作成视频

热门文章

  1. 利用微信搜索抓取公众号文章
  2. VMware虚拟机中XP系统激活及上传文件
  3. 『学习资料推荐』百家讲坛中国历史音频珍藏版
  4. 传雅虎考虑收购新闻摘要应用Summly
  5. 科研笔记(六) 基于环境感知的室内路径规划方法
  6. 用计算机制作演示文稿教案博客,信息技术:《制作演示文稿的一般过程》教案...
  7. MacOS从清空的废纸篓找回被删除文件的方法
  8. 文科如何晋级计算机职称,职称的档次是怎么确定来的?
  9. 【ES】Elasticsearch的特点优点 为什么比MySQL快?
  10. Linux查看本机端口开启,Linux 实用指令之查看端口开启情况