ajax – 即使缓存响应,“Cache-Control:only-if-cached”在脱机
我正在开发一个基于Web视图的移动应用程序和一个基于express.js的后端.从技术上讲,它归结为嵌入式Chrome浏览器和HTTP端点.
在我的应用程序中,我有一个仪表板,我希望它的行为方式如下: >从服务器获取最新数据(服务器总是响应200 OK,带有效负载和Last-Modified标头,或304 Not Modified,没有内容) >如果浏览器尚未缓存响应 – 使用Cache-Control执行正常请求:max-age = 0 >如果脱机/网络错误 – 退回到浏览器缓存 >执行Cache-Control:only-if-cached请求,它应该产生缓存的响应,如果没有找到则失败. 问题是,当服务器关闭时,具有Cache-Control的回退请求:only-if-cached总是失败.特别是,即使浏览器缓存了响应,它也会失败(我知道它已经缓存了,因为首先我得到200 OK,并且在第二个请求时它产生响应内容,即使收到304 Not Modified – 它没有内容).那么为什么失败呢?或者我应该如何构建与缓存相关的标题,以便它按照描述的方式工作? 我在跑: > Chrome WebView v54 其他说明:我可能会使用服务工作者,以便仪表板脱机工作,但我相信,使用普通的HTTP标头和浏览器缓存,相同的功能应该是可行的. 解决方法
是的,这应该可以通过HTTP定义的缓存行为实现,但前提是浏览器支持该规范.
在Chromium的源代码中,only-if-cached只出现在第三方模块中( (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- Flex xml格式化以及缩进量
- ruby-on-rails – Vim html.erb片段? snipMate需要一个vim
- arrays – 使用FasterCSV将不均匀的行转换为列
- Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Re
- Cocos2d 控件:创建一个按钮
- Flash AS3 Study (只为记录一部分东西,到时候会转到新浪博
- Material Design控件之FloatingActionButton
- Cisco Catalyst 2950如何恢復出廠的默認值
- 是否有用于查询C#文件的LINQ查询提供程序?
- ReactiveCocoa 中 RACScheduler 是如何封装GCD的