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

时间:2017-07-14 06:00:55

标签: http caching

Chrome浏览器从磁盘缓存返回http 200。但是我找不到"到期"或者"缓存控制"在回应标题?据我所知,应该有响应的过期或cahce控制,然后资源可能来自缓存。

Access-Control-Allow-Credentials:true Access-Control-Allow-Headers:DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type Access-Control-Allow-Methods:GET, POST, OPTIONS Access-Control-Allow-Origin:* Content-Encoding:gzip Content-Security-Policy-Report: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 *.hanatrial.ondemand.com; style-src 'self' 'unsafe-inline' sapui5.hana.ondemand.com data: *.yaas.io api.eu.yaas.io api.us.yaas.io s3.amazonaws.com accounts.sap.com Content-Type:application/x-javascript Date:Fri, 14 Jul 2017 03:23:27 GMT Etag:W/"59675378-8db28" Last-Modified:Thu, 13 Jul 2017 11:03:20 GMT Server:nginx/1.11.13 Vary:Accept-Encoding X-Frame-Options:SAMEORIGIN X-Vcap-Request-Id:34e06156-0a53-49d8-6e1e-f0ad50ac46bb X-Xss-Protection:1; mode=block

Please see the http response header screen shot

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

1 个答案:

答案 0 :(得分:1)

如果服务器没有提供明确的到期时间,则缓存可以分配启发式到期时间。

在RFC 7234 Section 4和第4.2.2节

中定义

一种启发式算法

('日期标题值' - '最后修改的标题值')* 10%