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

为什么Chrome Dev工具显示200状态码而不是304

Chrome Dev工具显示200状态码而不是304的原因是因为200状态码表示请求成功,服务器成功返回了请求的数据。而304状态码表示请求的资源在上次请求后没有发生变化,服务器返回的是一个空的响应,告诉浏览器使用缓存中的数据。当Chrome Dev工具显示200状态码时,说明服务器返回了新的数据,而不是使用缓存中的数据。

在开发过程中,如果希望浏览器使用缓存中的数据,可以通过设置合适的响应头来实现。例如,可以在服务器端设置Cache-Control头字段为max-age=3600,表示资源在一小时内有效,浏览器在一小时内再次请求该资源时,会直接使用缓存中的数据,并返回304状态码。

推荐的腾讯云相关产品:腾讯云CDN(内容分发网络)。腾讯云CDN是一种分布式部署的加速网络,通过将内容缓存到离用户更近的节点上,提供更快的访问速度和更好的用户体验。腾讯云CDN支持设置缓存策略,包括设置缓存时间、缓存规则等,可以有效控制缓存的使用,提高网站性能。

腾讯云CDN产品介绍链接地址:https://cloud.tencent.com/product/cdn

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

【前端词典】F5 同 Ctrl+F5 的区别你可了解

资源本身大小数值 当 http 状态200 是实实在在从浏览器获取的资源,当 http 状态304 时该数字是与服务端通信报文的大小,并不是该资源本身的大小,该资源是从本地获取的。...F5 同 Ctrl+F5 的区别 为什么 F5 后请求的是缓存, Ctrl+F5 就重新请求资源呢?答案就是这两种方式发送的请求头不一样(不同的浏览器发送的请求头也有一些区别)。 F5 ?...从图中可以看出返回的状态304NotModified。...这是因为按 F5 进行页面刷新时请求头会添加 If-Modify-Since 字段,如果资源未过期,命中缓存,服务器就直接返回 304 状态,客户端直接使用本地的资源。...可以看出 chrome 和 firefox 在按下 F5 后,其内部使用的缓存机制不同。 firefox 使用的是协商缓存, chrome 使用的是强缓存。

95030

web性能优化之:no-cache与must-revalidate深入探究

返回状态304 Not Modified,表示经过校验,源服务器上的资源没有变化,浏览器可以采用本地副本。 ?...于是状态200 OK,源服务器返回新版本的资源给浏览器。 ?...第二次访问,chrome截图如下,状态200。 ? 从squid日志来看,缓存服务器 访问 源服务器,并返回200给浏览器。...(n>1) 不考虑缓存服务器 首部 本地缓存是否过期 源服务器资源是否改变 是否重新校验 状态 no-cache 不确定 否 是 304 no-cache 不确定 是 是 200 must-revalidate...源服务器资源是否改变 是否重新校验 状态 no-cache 不确定 不确定 否 是 304 no-cache 不确定 不确定 是 是 200 must-revalidate 否 是/否 是/否 否

1.7K100

web性能优化之:no-cache与must-revalidate深入探究

返回状态304 Not Modified,表示经过校验,源服务器上的资源没有变化,浏览器可以采用本地副本。...于是状态200 OK,源服务器返回新版本的资源给浏览器。...第二次访问,chrome截图如下,状态200。 从squid日志来看,缓存服务器 访问 源服务器,并返回200给浏览器。...(n>1) 不考虑缓存服务器 首部 本地缓存是否过期 源服务器资源是否改变 是否重新校验 状态 no-cache 不确定 否 是 304 no-cache 不确定 是 是 200 must-revalidate...源服务器资源是否改变 是否重新校验 状态 no-cache 不确定 不确定 否 是 304 no-cache 不确定 不确定 是 是 200 must-revalidate 否 是/否 是/否 否

2.3K10

从前端角度理解缓存

以下两组字段,都可以对资源做标识,由服务器做分析,如果未进行更新,那返回304状态,从缓存中读取资源,否则重新请求资源。...;反之,则表示修改了,响应 200 状态,并返回数据。...以下有个小例子,查询书籍更新: 当书籍信息查询之后,再次查询,服务器根据资源的ETag查询得知该资源没有进行更新,返回304状态。...加载到的资源缓存到硬盘和内存,下次请求可以快速从内存中获取到 为什么有的请求状态返回200,有的返回304 200 from memory cache 不访问服务器,直接读缓存,从内存中读取缓存。...这种方式也只能缓存派生资源 304 Not Modified 访问服务器,发现数据没有 更新,服务器返回此状态。然后从缓存中读取数据。

58010

从前端角度理解缓存缓存是怎么回事缓存的类型缓存存储在哪薄荷应用CDN缓存如何合理应用缓存

以下两组字段,都可以对资源做标识,由服务器做分析,如果未进行更新,那返回304状态,从缓存中读取资源,否则重新请求资源。...;反之,则表示修改了,响应 200 状态,并返回数据。...以下有个小例子,查询书籍更新: 当书籍信息查询之后,再次查询,服务器根据资源的ETag查询得知该资源没有进行更新,返回304状态。 ?...更新返回的数据信息,再次查询,返回200状态,重新进行请求: ?...加载到的资源缓存到硬盘和内存,下次请求可以快速从内存中获取到 为什么有的请求状态返回200,有的返回304 200 from memory cache 不访问服务器,直接读缓存,从内存中读取缓存。

1.1K20

web性能优化之:no-cache与must-revalidate深入探究

返回状态304 Not Modified,表示经过校验,源服务器上的资源没有变化,浏览器可以采用本地副本。...于是状态200 OK,源服务器返回新版本的资源给浏览器。...第二次访问,chrome截图如下,状态200。 从squid日志来看,缓存服务器 访问 源服务器,并返回200给浏览器。...(n>1) 不考虑缓存服务器 首部 本地缓存是否过期 源服务器资源是否改变 是否重新校验 状态 no-cache 不确定 否 是 304 no-cache 不确定 是 是 200 must-revalidate...源服务器资源是否改变 是否重新校验 状态 no-cache 不确定 不确定 否 是 304 no-cache 不确定 不确定 是 是 200 must-revalidate 否 是/否 是/否 否

1.3K10

为什么不应该重写service方法?

先来看一个具体的例子: 当时我正在osc看红薯的一篇大作,只见我右手F12熟练的打开了chrome的开发者工具,左手迅猛的按了几下F5,然后看到了这个结果。 ? ?...聪明的你一定已经发现,除了第一个名为12_77118的请求返回状态200,其他的都为304,那么200304有什么区别呢?这个稍后解释。...图二 这次请求的头信息中多了一条If-Modified-Since,而且返回的响应中,状态变为了304,这是怎么回事?...(见图二) 如果资源没有被修改,server返回304状态,并不会再次将资源发送给浏览器,浏览器则很知趣的使用本地的缓存文件。...我们发现无论我们如何刷新页面,每次响应状态都是200,index.html的内容每次都被完整的发送给浏览器,这看起来很笨,为什么不像静态资源一样进行缓存协商呢?

44720

为什么不应该重写service方法?

先来看一个具体的例子: 当时我正在osc看红薯的一篇大作,只见我右手F12熟练的打开了chrome的开发者工具,左手迅猛的按了几下F5,然后看到了这个结果。 ? ?...聪明的你一定已经发现,除了第一个名为12_77118的请求返回状态200,其他的都为304,那么200304有什么区别呢?这个稍后解释。...图二 这次请求的头信息中多了一条If-Modified-Since,而且返回的响应中,状态变为了304,这是怎么回事?...(见图二) 如果资源没有被修改,server返回304状态,并不会再次将资源发送给浏览器,浏览器则很知趣的使用本地的缓存文件。...我们发现无论我们如何刷新页面,每次响应状态都是200,index.html的内容每次都被完整的发送给浏览器,这看起来很笨,为什么不像静态资源一样进行缓存协商呢?

38920

为什么不应该重写 service 方法?

先来看一个具体的例子: 当时我正在osc看红薯的一篇大作,只见我右手F12熟练的打开了chrome的开发者工具,左手迅猛的按了几下F5,然后看到了这个结果。...聪明的你一定已经发现,除了第一个名为12_77118的请求返回状态200,其他的都为304,那么200304有什么区别呢?这个稍后解释。...(见图二) 如果资源没有被修改,server返回304状态,并不会再次将资源发送给浏览器,浏览器则很知趣的使用本地的缓存文件。...看起来很爽啊,很智能是不是?这种约定的机制就是 http缓存协商——这是约定优于配置的又一体现。 有了缓存协商的知识,理解为什么我们不应该重写service就很容易了。...200,让我们看看具体的请求和响应头: 我们发现无论我们如何刷新页面,每次响应状态都是200,index.html的内容每次都被完整的发送给浏览器,这看起来很笨,为什么不像静态资源一样进行缓存协商呢?

18730

为什么不应该重写 service 方法?

先来看一个具体的例子: 当时我正在osc看红薯的一篇大作,只见我右手F12熟练的打开了chrome的开发者工具,左手迅猛的按了几下F5,然后看到了这个结果。 ? ?...聪明的你一定已经发现,除了第一个名为12_77118的请求返回状态200,其他的都为304,那么200304有什么区别呢?这个稍后解释。...(见图二) 如果资源没有被修改,server返回304状态,并不会再次将资源发送给浏览器,浏览器则很知趣的使用本地的缓存文件。...看起来很爽啊,很智能是不是?这种约定的机制就是 http缓存协商——这是约定优于配置的又一体现。 有了缓存协商的知识,理解为什么我们不应该重写service就很容易了。...我们发现无论我们如何刷新页面,每次响应状态都是200,index.html的内容每次都被完整的发送给浏览器,这看起来很笨,为什么不像静态资源一样进行缓存协商呢?

39920

HTTP 304状态的详细讲解

HTTP 304状态的详细讲解 304状态或许不应该认为是一种错误,而是对客户端有缓存情况下服务端的一种响应。...你也许会有个疑问:“如果不改变网站内容,我怎么才能让Fiddler不返回304返回一个包含响应体的HTTP/200响应呢?”...如果是对您的 robots.txt 文件显示状态,则表示 Googlebot 已成功检索到该文件。 201(已创建) 请求成功并且服务器创建了新的资源。...如果您的网站上没有 robots.txt 文件,您在 Google 网站管理员工具“诊断”标签的 robots.txt 页上看到此状态,则这是正确的状态。...5xx(服务器错误) 这些状态码表示服务器在处理请求时发生内部错误。这些错误可能是服务器本身的错误,不是请求出错。 500(服务器内部错误) 服务器遇到错误,无法完成请求。

4.2K20

Ajax笔记

file协议是不支持的,跨源请求仅支持http, data, chrome, chrome-extension, https协议方案 ?...该状态用于表示特定 HTTP 请求是否已成功完成,这个状态是服务器发给浏览器的 2、status数值分类 ?...3、所有status其余状态 这篇博客(Ajax关于readyState(状态值)和status(状态)的研究) 上写status其余状态比较详细 也可以查阅mdn,我这里只是挑出几个常用的状态...3.3)304 Not Modified(未改变) 如果客户端发送了一个带条件的 GET 请求且该请求已被允许,文档的内容(自上次访问以来或者根据请求的条件)并没有改变,则服务器应当返回这个状态 未改变说明无需再次传输请求的内容...status是请求链接到服务器,服务器响应错误后服务器返回浏览器的状态

1K60

http请求头中缓存的实现

什么是http缓存呢,当我们使用chrome浏览器,按F12打开控制台,在网络请求中有时候看到状态200,有时候状态304,当我们去看这种请求的时候,我们会发现状态304状态结果是:Status...Code: 304 Not Modified,状态200的时候一般会有四种情况,一种是直接返回200,没有任何其他的标志,另一种是Status Code: 200 OK (from memory...最后一种不是太常见,Status Code: 200 (from Service Worker).后面这三种状态看到的效果是灰色的,其实从给出的信息也能看出来是从缓存中获取上数据。...其实我们可以按状态来区分其为两大类,分别是写上缓存--304和强制缓存--200 协商缓存(304) 这种方式使用到了headers请求头里的两个字段,Last-Modified & If-Modified-Since...200状态304状态何时出现 在没有设置Cache-Contral的情况下,设置Last-Modified和ETag缓存,会出现200(from cache)和304 交替出现的情况。

1.9K30

前端面试(2)javascript

状态,浏览器直接使用缓存,否则返回 200OK 状态和新资源。...Chrome 示例图: 状态200 OK 状态200 from memeory cache 状态200 from disk cache 状态304 Not Modified )...) Safari 示例图: 响应头: 状态200 OK 状态200 内存 状态200 磁盘 Firefox:在 url 上输入 about:cache 可以看到对应的缓存情况,大家可以试一下...资源被强缓存后状态依然是 200 OK,不过会在传输列下显示已缓存,但是无法看出是内存缓存还是磁盘缓存。 Firefox 的 304Chrome 和 Safari 差别不大。...,当服务器验证资源没有过期后才会返回 304 Not Modified 状态,同时响应体为空,这样可以节省流量并提高响应速度,客户端接收到 304 状态后从本地读取数据,因此 304200 from

1.2K20

彻底弄懂HTTP缓存机制及原理

但是对于很多前端同学来说,仅仅只是知道浏览器会对请求的静态文件进行缓存,但是为什么被缓存,缓存是怎样生效的,却并不是很清楚。...对于强制缓存来说,响应header中会有两个字段来标明失效规则(Expires/Cache-Control) 使用chrome的开发者工具,可以很明显的看到对于强制缓存生效时,网络请求的情况 ?...通过两图的对比,我们可以很清楚的发现,在对比缓存生效时,状态304,并且报文大小和请求时间大大减少。...若资源的最后修改时间大于If-Modified-Since,说明资源又被改动过,则响应整片资源内容,返回状态200; 若资源的最后修改时间小于或等于If-Modified-Since,说明资源无新修改...服务器收到请求后发现有头If-None-Match 则与被请求资源的唯一标识进行比对, 不同,说明资源又被改动过,则响应整片资源内容,返回状态200; 相同,说明资源无新修改,则响应HTTP 304

42130

HTTP 缓存

强缓存 强缓存不会向服务器发送请求,直接从缓存中读取资源,在 chrome 控制台的 network 选项中可以看到该请求返回 200状态,并且size显示from disk cache或from...memory cache; 协商缓存 协商缓存会先向服务器发送一个请求,服务器会根据这个请求的 request header 的一些参数来判断是否命中协商缓存,如果命中,则返回 304 状态并带上新的...如果已经修改,那么开始传输响应一个整体,服务器返回:200 OK 但是在服务器上经常会出现这种情况,一个资源被修改了,但其实际内容根本没发生改变,会因为Last-Modified时间匹配不上返回了整个实体给客户端...如果相同说明资源没有修改,则响应返 304,浏览器直接从缓存中获取数据信息。如果不同则说明资源被改动过,则响应整个资源内容,返回状态 200。...浏览器直接读本地缓存,不会再跟服务器端交互,状态 200

28300

干货 | 彻底弄懂 HTTP 缓存机制及原理

但是对于很多前端同学来说,仅仅只是知道浏览器会对请求的静态文件进行缓存,但是为什么被缓存,缓存是怎样生效的,却并不是很清楚。...对于强制缓存来说,响应header中会有两个字段来标明失效规则(Expires/Cache-Control),使用chrome的开发者工具,可以很明显的看到对于强制缓存生效时,网络请求的情况。...通过两图的对比,我们可以很清楚的发现,在对比缓存生效时,状态304,并且报文大小和请求时间大大减少。...若资源的最后修改时间大于If-Modified-Since,说明资源又被改动过,则响应整片资源内容,返回状态200; 若资源的最后修改时间小于或等于If-Modified-Since,说明资源无新修改...服务器收到请求后发现有头If-None-Match 则与被请求资源的唯一标识进行比对, 不同,说明资源又被改动过,则响应整片资源内容,返回状态200; 相同,说明资源无新修改,则响应HTTP 304

51930

你清楚HTTP缓存机制和原理吗?

但是对于很多前端同学来说,仅仅只是知道浏览器会对请求的静态文件进行缓存,但是为什么被缓存,缓存是怎样生效的,却并不是很清楚。...对于强制缓存来说,响应header中会有两个字段来标明失效规则(Expires/Cache-Control) 使用chrome的开发者工具,可以很明显的看到对于强制缓存生效时,网络请求的情况 ?...通过两图的对比,我们可以很清楚的发现,在对比缓存生效时,状态304,并且报文大小和请求时间大大减少。...若资源的最后修改时间大于If-Modified-Since,说明资源又被改动过,则响应整片资源内容,返回状态200; 若资源的最后修改时间小于或等于If-Modified-Since,说明资源无新修改...服务器收到请求后发现有头If-None-Match 则与被请求资源的唯一标识进行比对: 不同,说明资源又被改动过,则响应整片资源内容,返回状态200; 相同,说明资源无新修改,则响应HTTP 304

76620
领券