http - 为什么从磁盘缓存返回http 200代码,响应头中既没有过期也没有缓存控制?

标签 http caching

Chrome 浏览器从磁盘缓存返回 http 200。但我在响应头中没有找到“过期”或“缓存控制”?据我所知,响应中应该有expire或cahce-control,那么资源可能来自缓存。

访问控制允许凭据:true 访问控制允许 header :DNT、X-CustomHeader、Keep-Alive、用户代理、X-Requested-With、If-Modified-Since、缓存控制、内容类型 访问控制允许方法:GET、POST、OPTIONS 访问控制允许来源:* 内容编码:gzip 内容安全策略报告:default-src 'self' 'unsafe-eval'; img-src *; child-src ' self ' *; connect-src 'self' * wss:; script-src 'self' 'unsafe-eval' 'unsafe-inline' *.modules.yaas.io js.stripe.com *.sapjam.com *.hanatorial.ondemand.com; style-src 'self' 'unsafe-inline' sapui5.hana.ondemand.com 数据:*.yaas.io api.eu.yaas.io api.us.yaas.io s3.amazonaws.com account.sap.com 内容类型:应用程序/x-javascript 日期:2017 年 7 月 14 日星期五 03:23:27 GMT E标签:W/“59675378-8db28” 最后修改时间:2017 年 7 月 13 日星期四 11:03:20 GMT 服务器:nginx/1.11.13 变化:接受编码 X 框架选项:SAMEORIGIN X-Vcap-请求-Id:34e06156-0a53-49d8-6e1e-f0ad50ac46bb X-Xss-保护:1;模式= block

Please see the http response header screen shot

当我使用firefox firebug进行调查时。有一个缓存部分指示过期日期,但响应 header 中没有过期日期。

最佳答案

如果服务器不提供明确的过期时间,缓存可以分配一个启发式过期时间。

在 RFC 7234 Section 4 中定义和第 4.2.2 节

一种启发式算法是

('日期 header 值' - '上次修改的 header 值') * 10%

关于http - 为什么从磁盘缓存返回http 200代码,响应头中既没有过期也没有缓存控制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45095708/

相关文章:

java - Spring:为什么要有多个缓存

javascript - 获取 504 网关超时状态代码 javascript

javascript - 带有 JSON 参数和查询字符串的 AngularJS $http POST 请求

ruby-on-rails - Ruby on Rails 缓存图像错误

forms - Firefox 在重新加载时保留表单数据

java - 缓存由 servlet 提供的图像

ios - 将 URL 设置为 NSCache 的键不起作用

java - 我能不能把 'bounce'一个文件上传到一台服务器直接发到另一台服务器?

javascript - UnhandledPromiseRejectionWarning错误使用axios

java - Android CookieSyncManager