状态码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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • IntelliJ IDEA中创建java项目

    IntelliJ IDEA中创建java项目IntelliJIDEA支持java、Android、Maven、Gradle、Kotlin等类型的项目,同时AndroidStudio就是在其基础上二次开发出来的,功能非常强大。本文以IntelliJIDEA2018.2.5版本为例介绍如何创建java项目。1.依次选择菜单:File->New->Project…,打开NewProject界面。2.在左侧的项目类型里选择:Java,点击Next按钮。3.在出现的界面中选中“Createprojectfromtempl

    2022年7月8日
    40
  • Java实现扫雷小游戏【优化版】

    Java实现扫雷小游戏【优化版】游戏的设计类似windows扫雷,用户在图形化用户界面内利用鼠标监听事件标记雷区,左上角表示剩余雷的数量,右上角动态显示使用的时间。用户可选择中间组件按钮重新游戏。在使用Java编写扫雷小游戏时遇到了很多问题,在解决问题时,确实对java的面向对象编程有了更加深入的理解。虽然GUI现在并没有很大的市场,甚至好多初学者已经放弃了学习GUI,但是利用GUI编程的过程对于培养编程兴趣,深入理解Java编程有很大的作用。

    2022年7月15日
    16
  • 电子商务网站安全_跨境电商有哪些平台

    电子商务网站安全_跨境电商有哪些平台电商网站安全应对之道(电商网站安全的威胁类型:https://blog.csdn.net/qq_29039705/article/details/80486795)一、预防逻辑漏洞进行业务流程梳理接口会发加签名和超时机制避免通过前端进行验证和现在减少暴露给用户的参数增加共享数据互斥机制不要相信用户输入检查用户输入二、预防越权操作任何涉及用户权限的操作均匀会话关联参数的加密及模糊化严格验证程序逻辑顺…

    2022年10月1日
    2
  • android 4.4 源码打包下载13G

    android 4.4 源码打包下载13G

    2021年8月31日
    63
  • java 差的绝对值_java 绝对值问题[通俗易懂]

    /**输入一个正整数repeat(0/**输入一个正整数repeat(0读入1个正实数eps,计算并输出1-1/3+1/5-1/7+……,直到最后一项的绝对值小于eps为止(要求每一项的绝对值均大于等于eps,并以float类型输出数据)。例:括号内是说明输入2(repeat=2)1E-40.1输出0.78534820.83492064*/importjava.util.Scanner…

    2022年4月6日
    134
  • python 字符转数字函数_excel将字符串转数字

    python 字符转数字函数_excel将字符串转数字chr(i)数字转ascii范围的字符unichr(i)数字转unicode字符ord(c)字符转成unicode码点

    2022年10月12日
    4

发表回复

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

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