200 OK (from cache) 与 304 Not Modified

解释:

200 OK (from cache)  是浏览器没有跟服务器确认,直接用了浏览器缓存;

304 Not Modified 是浏览器和服务器多确认了一次缓存有效性,再用的缓存。

触发区别:

200 OK (from cache) 是直接点击链接访问,输入网址按回车访问也能触发;而 304 Not Modified 是刷新页面时触发,或是设置了长缓存、但 Entity Tags 没有移除时触发

Last-Modified这个头标是一个响应头标,表示客户端(通常指浏览器)所请求资源在服务器端的最后修改时间。通常情况下客户端在接受这个头标后,在以后对这个资源的请求会附带一个’If-Modified-Since’请求头标,而这个头标是想告诉服务器上次客户端所请求资源的最后修改时间。If-Modified-since 后面的内容是向服务器确认浏览器缓存中的内容是否过时。如果不过时,返回的就是304 Not Modified。

200 ok from cache 是通过Expires 和 Cache-Control: max-age来比较的。如果你触发一条新的请求的时候,这些缓存对象仍然存储在本地缓存并且尚未过期

If your server is Apache, use the ExpiresDefault directive to set an expiration date relative to the current date. This example of the ExpiresDefault directive sets the Expires date 10 years out from the time of the request.

如果您的服务器是Apache使用ExpiresDefault指令设置一个相对于当前日期截止日期。这个例子ExpiresDefault指令 设置请求时间 10年到期。

ExpiresDefault "access plus 10 years"

雅虎网页优化建议:https://developer.yahoo.com/performance/rules.html

时间: 2024-10-14 00:46:52

200 OK (from cache) 与 304 Not Modified的相关文章

[web] 200 OK (from cache) 与 304 Not Modified

为什么有的缓存是 200 OK (from cache),有的缓存是 304 Not Modified 呢?很简单,看运维是否移除了 Entity Tag.移除了,就总是 200 OK (from cache).没有移除,就两者交替出现. 最近在做百度云观测的 nginx 配置优化.从知乎上看到这个问题:“阿里云存储如何让浏览器始终以200 (from cache)缓存图片?”,提问者强调 200 OK (from cache) 和 304 Not Modified 的区别,有感而发. 其实,

200 from memory cache / from disk cache / 304 Not Modified 区别

三者情况有什么区别和联系,什么情况下会发生200 from memory cache 或 200 from disk cache 或 304 Not Modified? 200 from memory cache / from disk cache / 304 Not Modified 区别 >> python 这个答案描述的挺清楚的:http://www.goodpm.net/postreply/python/1010000008991724/200frommemorycachefromdi

304 Not Modified

今天在用chrome浏览淘宝页面的时候,发现很多来自淘宝图片HTTP状态码是 304 Not Modified 到百度搜索了一下,明白了 304状态的含义(以下绿色内容来自网络): 304 Not Modified:客户端有缓冲的文件并发出了一个条件性的请求(一般是提供If-Modified-Since头表示客户只想比指定日期更新的文档).服务器告诉客户,原来缓冲的文档还可以继续使用. 如果客户端在请求一个文件的时候,发现自己缓存的文件有 Last Modified ,那么在请求中会包含 If

图片缓存:浏览器刷新 和 304 Not Modified 与 If-Modified-Since 及 Cache-Control

关键词:浏览器刷新,304 Not Modified ,If-Modified-Since,Cache-Control,Expires 今天在用chrome浏览淘宝页面的时候,发现很多来自淘宝图片HTTP状态码是 304 Not Modified 到百度搜索了一下,明白了 304状态的含义(以下绿色内容来自网络): 304 Not Modified:客户端有缓冲的文件并发出了一个条件性的请求(一般是提供If-Modified-Since头表示客户只想比指定日期更新的文档).服务器告诉客户,原来缓

Jersey(1.19.1) - Conditional GETs and Returning 304 (Not Modified) Responses

Conditional GETs are a great way to reduce bandwidth, and potentially server-side performance, depending on how the information used to determine conditions is calculated. A well-designed web site may return 304 (Not Modified) responses for the many

asp.net页面的304 Not Modified代码与 原理

通过前面的示例,我们已经看到缓存带来的好处:那就是可以减少到服务器的访问,由于不访问服务器就能显示页面,这对于服务器来说, 能减轻一定的访问压力.但是,如果用户强制刷新浏览器,那么浏览器将会忽略缓存页,直接向服务器重新发起请求. 也就是说:缓存页在用户强制刷新浏览器时会无效. 但是,我们之所以使用缓存页,是因为我们希望告诉浏览器:这些数据在一定时间内,并不会发生变化,因此根本不需要再次请求服务器了. 然而,我们不能阻止用户的行为.由于浏览器的重新访问,我们原来设想的缓存想法将会落空,最后的结果是

304 not modified 缓存问题解决

解决这种问题方法很简单,只需在url后面拼接一个时间戳就行了.示例代码如下: this.$http.get('./api/ratings?t='+ (new Date()).getTime().toString())

踩坑koa1.x升级koa2.x及前端工程师面临的新挑战

前言 较早的Nodejs开发者为了实现程序的同步都会使用几个"工具",回调,promise,co,或者是generator.记得写过一个递归删除目录下文件和文件夹的需求,用以上方法都是各种不爽(关键我就是想简单的写个递归啊). 就在前几天Nodejs发布了v7.6.0版本.Nodejs开发者终于不用使用第三方模块就可以使用async和await让自己的程序在不需要异步的地方保持同步的特性了. 就在Nodejs v7.6.0刚发布不久,koa的作者也正式的发布的koa2. 通过网络查询得

JavaScript - 收藏集 - 掘金

Angular 中的响应式编程 -- 浅淡 Rx 的流式思维 - 掘金第一节:初识Angular-CLI第二节:登录组件的构建第三节:建立一个待办事项应用第四节:进化!模块化你的应用第五节:多用户版本的待办事项应用第六节:使用第三方样式库及模块优化用第七节:给组件带来活力Rx--隐藏在 Angular 中的利剑Redux你的 A... Electron 深度实践总结 - 前端 - 掘金思维导图 前言: Electron 从最初发布到现在已经维护很长一段时间了,但是去年才开始慢慢升温.笔者个人恰好