Html5 appcache appcache网络中的SSL路径在Chrome中受到限制

Html5 appcache appcache网络中的SSL路径在Chrome中受到限制,html5-appcache,Html5 Appcache,在Chrome中看到一些奇怪的行为,不确定这是使用appcache时的预期行为,还是仅仅是Chrome 这是一个单页应用程序,由我们的RestAPI提供支持,在HTTP下请求RestAPI时,它可以正常工作,但是一旦我们将url更改为HTTPS版本,它就会停止工作。Chrome的控制台中没有太多(即任何)关于它为什么决定停止工作的信息 我们已经设法将它缩小到appcache文件中的网络部分,使它工作的唯一方法是使用*通配符,这是我们不想做的,因为这绕过了appcache的整个点,并降低了安全性(

在Chrome中看到一些奇怪的行为,不确定这是使用appcache时的预期行为,还是仅仅是Chrome

这是一个单页应用程序,由我们的RestAPI提供支持,在HTTP下请求RestAPI时,它可以正常工作,但是一旦我们将url更改为HTTPS版本,它就会停止工作。Chrome的控制台中没有太多(即任何)关于它为什么决定停止工作的信息

我们已经设法将它缩小到appcache文件中的
网络
部分,使它工作的唯一方法是使用
*
通配符,这是我们不想做的,因为这绕过了appcache的整个点,并降低了安全性(从我阅读文档等的理解来看)

我们已经尝试了API url的任何和所有变体(如在各种相关位置将其与通配符组合),但似乎都不起作用(即使是
https://*
也不允许成功的请求)

有经验的人知道发生了什么吗


谢谢

需要澄清一下(见我的评论),但同时:

根据规范,清单的
网络
行为实际上是为了通过减少在线和离线行为之间的差异来“简化离线应用程序的测试”。事实上,它只是增加了另一个陷阱

默认情况下,任何不在清单(清单文件中列出)、缓存隐式部分(指向清单的已访问页面)或由
回退
前缀覆盖的内容都将无法加载,即使您处于联机状态,除非url列在
网络
部分或
网络
部分列出
*

如果列出
http://whatever.com/*
它将允许对该url的请求,因为星号是url中的有效字符。唯一的特例是单个
*
,这意味着“允许页面对缓存中不存在的任何资源发出网络请求”

基本上,在
网络中使用
*
不会带来安全风险,事实上,这可能是您想要做的,我构建的每个AppCache站点都使用它

我绘制了这个流程图,试图解释appcache如何加载页面和资源:


您可以发布您的清单文件吗?当您使用HTTPS时,清单中的所有项目是否都是HTTPS,包括清单和引用清单的页面?如果没有,什么使用HTTPS,什么不使用?@jaffatecake清单文件(实际上是整个应用程序)中唯一的HTTPS是rest API,它位于不同的域下,应用程序上的所有其他资源位于应用程序的域上,在HTTPS下请求。感谢流程图。我只是想告诉你,网络让我有点困惑。我认为
是网络中的URL
意味着询问URL是否远程可用。现在我知道它意味着清单文件中的
网络
字段。