首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

服务端返回 304 如何做到的?

大家都知道 HTTP 状态码 304 代表内容没有变,客户端可以直接用缓存,进而节省带宽和提高效率。 但具体流程是怎么样的呢?服务端和客户端(例如:浏览器)是怎么交互的呢?...服务端怎么知道客户端内容没有变化(毕竟每个客户端得到的内容可能不一样),直接返回 304 呢? 今天就花2分钟来学习下这知识点。...如果数据从那时起没有改变,服务器将返回一个特殊的 HTTP 状态代码 304,这意味着 “从上一次请求后这个数据没有改变”。 这有啥好处呢?...服务器简单地返回 304: Not Modified,因此浏览器就会知道从本地缓存加载页面。...假设服务端通过计算得到第二次请求数据的 hash 一样,就代表数据没有变化,此时将直接返回 304 状态码。 好了,全文完,今天你学到了吗?

1.4K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    状态码304的简单介绍

    参考: 百度百科、HTTP Status Code 304 状态码的详细讲解 304 是对客户端有缓存情况下服务端的一种响应。...在浏览器第一次请求某一个URL时,服务器端的返回状态会是200,内容是客户端请求的资源,同时有一个Last-Modified的属性标记此文件在服务器端最后被修改的时间。...2006 18:53:33 GMT If-Modified-Since : Fri , 12 May 2006 18:53:33 GMT 如果服务器端的资源没有变化,则自动返回...HTTP 304(Not Changed.)状态码,内容为空,这样就节省了传输数据量。...当服务器端代码发生改变或者重启服务器时,则重新发出资源,返回和第一次请求时类似。从而保证不向客户端重复发出资源,也保证当服务器有变化时,客户端能够得到最新的资源。

    4.4K80

    HTTP 304状态码的详细讲解

    HTTP 304状态码的详细讲解 304状态码或许不应该认为是一种错误,而是对客户端有缓存情况下服务端的一种响应。...服务端只要判断这个时间和当前请求的文件的修改时间就可以确定是返回 304 还是 200 。...虽然在返回 304 的时候已经做了一次数据库查询,但是可以避免接下来更多的数据库查询,并且没有返回页面内容而只是一个 HTTP Header,从而大大的降低带宽的消耗,对于用户的感觉也是提高。...你也许会有个疑问:“如果不改变网站内容,我怎么才能让Fiddler不返回304返回一个包含响应体的HTTP/200响应呢?”...304(未修改) 自从上次请求后,请求的网页未修改过。服务器返回此响应时,不会返回网页内容。

    6.3K20

    WordPress 技巧:开启 304 Not Modified Header,提高网站效率

    什么 304 Not Modified Header 客户端(一般是浏览器)发送了一个带条件的 GET 请求且该请求已被允许,而文档的内容(自上次访问以来或者根据请求的条件)并没有改变,则服务器应当返回...304 Not Modified 这个状态码。...因此,如果请求中包含 If Modified Since,就说明已经有缓存在客户端,只要判断这个时间和当前请求的文件的修改时间就可以确定是返回 304 还是 200。...,其实服务器无需再次生成一次页面,直接返回 304 Not Modified Header,让用户直接查看浏览器中缓存即可。...上图就是我爱水煮鱼针对未登录用户开启 304 缓存之后,用户再次访问同一页面时候得到 304 Not Modified 状态。

    41920

    css 文件 304 错误是什么原因引起的

    CSS文件返回304状态码的原因有以下几个: 1. 浏览器缓存了该CSS文件。...浏览器会缓存已经访问过的CSS文件,当再次请求同一个文件时,浏览器会先检查缓存,如果缓存版本没有变化,就会返回304状态码告知服务器我还用得着最新文件,使用缓存的就行。...如果服务器错误的配置了永久的缓存头信息,浏览器就会长期缓存CSS文件并始终返回304。...如果CSS文件实际没有更新过,那么浏览器请求时会发现文件没有变化,返回304状态码。这个是正常情况,不需要处理。 4. 强制刷新缓存。...如果客户端网络异常,比如临时断网,浏览器的请求发不出去,默认会返回304状态码。这属于非服务端控制的问题,网络恢复正常后会自动解决。

    1.3K20

    LeetCode周赛304,图论双压,你能搞定吗?

    返回使 nums 中所有元素都等于 0 需要的 最少 操作数。 题解 简单分析之后会发现,要使得所有数等于0,要进行的操作数量等于数组当中不同的元素值的数量。...返回可以形成的 最大 组数。 题解 这题看起来很花哨条件很多,但仔细分析之后可以发现本题的关键在排序。只需要将数组中的元素进行排序,之后再按照题目的分组要求进行划分。...请你返回一个从 node1 和 node2 都能到达节点的编号,使节点 node1 和节点 node2 到这个节点的距离 较大值最小化。如果有多个答案,请返回 最小 的节点编号。...如果答案不存在,返回 -1 。 注意 edges 可能包含环。 题解 图论裸题,我们只需要算出从node1和node2节点出发到达其他点的最短距离,然后找出既能连通又满足题意的答案即可。...请你返回图中的 最长 环,如果没有任何环,请返回 -1 。 一个环指的是起点和终点是 同一个 节点的路径。

    35720

    531X304IBDASG1 GE基本驱动卡

    531X304IBDASG1 GE基本驱动卡图片531X304IBDASG1是通用电气公司AC2000系统的基本驱动卡。该主板还包括阿格F31X部件号,可帮助您识别其与当前设备的兼容性。...531X304IBDASG1表面包含代码,如006/09和C-ess。该板的内部设计有插槽,角上还钻有安装孔。主板内部的插槽通常被组件覆盖,只有在查看设备底部时才会被注意到。...531X304IBDASG1设计有三个通用零件。这些部件中的每一个都重复相同的组件,并且具有与其他部件相同的结构,只有微小的变化。每个电路板部分包括一个变压器、一个垂直引脚接头连接器和两个平行散热器。...517-0224-16A-458525531X303MCPARG1531X303MCPBBG1531X304IBDAMG1531X304IBDARG1531X304IBDASG1F31X303MCPA002.../00F31X304IBDAMG1-006/09531X305NTBANG1-006/09531X305NTBAPG1-006/09531X307LTBAHG1-006/09531X307LTBAJG1

    30730

    【日志服务CLS】HTTP code 304引申出来的故事

    HTTP CODE 304 304的含义不是重定向。304表示用户查找的资源存在,但是不满足请求需要的条件。...一般出现304的情况,请求首部中包含if-xxx这样的条件请求,当判断条件为假的时候就会返回304。看的不甚了了,看不懂。...通过以上的日志分析,个人基本确定出现这pending的原因大概率是http304原因就是开发小伙伴经常F5刷新,刷新去cdn验证资源发现木有时效。...返回304作为cdn加速 我肯定希望用户用本地的资源了......可是昨天聊了下我们这边的前端应该没有处理这样的。....但是本地不知道去哪里加载资源了.....。...再次验证了一下出现http code304的ip列表 发现大部分的都是公司的公网ip.....当然了还有早时候应用也出现过。估计都是没有处理这状态。懒得做各种处理了。让客户端应用小伙伴去处理了。

    1.1K101
    领券