状态码304的简单介绍[通俗易懂]

状态码304的介绍

大家好,又见面了,我是你们的朋友全栈君。

参考: 百度百科HTTP Status Code 304 状态码的详细讲解

      304 是对客户端有缓存情况下服务端的一种响应。

      在浏览器第一次请求某一个URL时,服务器端的返回状态会是200,内容是客户端请求的资源,同时有一个Last-Modified的属性标记此文件在服务器端最后被修改的时间。客户端第二次请求此URL时,根据HTTP协议的规定,浏览器会向服务器传送If-Modified-Since报头,询问该时间之后文件是否有被修改过。两个时间戳的格式如下:

      Last-Modified:Last-Modified : Fri , 12 May 2006 18:53:33 GMT

      If-Modified-Since : Fri , 12 May 2006 18:53:33 GMT

      如果服务器端的资源没有变化,则自动返回 HTTP 304(Not Changed.)状态码,内容为空,这样就节省了传输数据量。当服务器端代码发生改变或者重启服务器时,则重新发出资源,返回和第一次请求时类似。从而保证不向客户端重复发出资源,也保证当服务器有变化时,客户端能够得到最新的资源。

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

如下两张图片,图一为浏览器无缓存的状态码,可以看出 status 全为 200。图二是浏览器中存在缓存时的状态码,可以看出全为 304。同时我们还可以比较二者页面的加载时间,时间位于最下面一行的Load Time,可以看出差距比较大,使用缓存可以节省好多时间。
在这里插入图片描述


图一



在这里插入图片描述


图二

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/127626.html原文链接:https://javaforall.net

(0)
上一篇 2022年4月10日 上午7:40
下一篇 2022年4月10日 上午8:00


相关推荐

  • 搞明白activated和deactivated

    搞明白activated和deactivated文章目录写到前面什么是 activatedact 解决了一个什么问题 Demomain vueassembly1 组件 1 assembly2 组件 2 执行结果要点速记个人建议写到最后写到前面今天简单的将 activated 讲一下 前面有人问了 既然有问的 说明还有人不是很明白的 这里就说一下吧 什么是 activated 首先要确定一个点就是他也是属于 vue 生命周期中的一个 为什么我们平常说的生命周期没有它呢 我们平常说的生命周期就是 created update mounted destory

    2026年3月16日
    2
  • java课程设计(简易计算器)源代码 JAVA 源代码有解析 免费分享[通俗易懂]

    标题:java课程设计简易计算器源代码JAVA源代码有解析免费分享先言这是我挺久以前课程设计java写的计算器,只能实现基本的功能,我现在分享出来希望能帮助到别人。写得其实挺一般的,见谅见谅。有课程设计任务的学弟学妹也是写计算器的可以看看参考参考。源代码里我写有挺多解析的,能帮助理解。功能描述:参考Windows操作系统提供的计算器设计一个实用的计算器,要求除了具有普通的计算功能外,还具有保存计算过程的功能。①单击计算器上的数字按钮(0、1、2、3、4、5、6、7、8、9)可以设置参与计算

    2022年4月8日
    33
  • javascript(js)小数精度丢失的解决方案

    原因:js按照2进制来处理小数的加减乘除,在arg1的基础上将arg2的精度进行扩展或逆扩展匹配,所以会出现如下情况.javascript(js)的小数点加减乘除问题,是一个js的bug如0.3*

    2021年12月25日
    41
  • 常见的兼容性问题解决「建议收藏」

    常见的兼容性问题解决「建议收藏」所谓的浏览器兼容性问题,是指因为不同的浏览器对同一段代码有不同的解析,造成页面显示效果不统一的情况。在大多数情况下,我们的需求是,无论用户用什么浏览器来查看我们的网站或者登陆我们的系统,都应该是统一的

    2022年8月5日
    13
  • vs编译python好还是pycharm的好_vscode和pycharm那个更好用?

    vs编译python好还是pycharm的好_vscode和pycharm那个更好用?Pycharm 的 Pro 版比 vscode 好用很多 社区版跟 vscode 比各擅胜场 Pycharm 无论哪个版本 都比 vscode 要多占资源 当然 vscode pylance 插件也不是吃素的 这里主要谈谈 PycharmPro 版本比 vscode 强在什么地方 Pycharm 社区版不支持远程调试 连 wsl 也不支持 所以就不考虑了 我比较倾向于 Windows Linux 的混合式开发 即 IDE 运行在 Wind

    2026年3月27日
    2
  • 使用npm安装yarn命令

    使用npm安装yarn命令’yarn’不是内部或外部命令,也不是可运行的程序或批处理文件。解决方法:全局安装:npminstall-gyarn检查是否安装成功:yarn-v

    2022年5月23日
    69

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号