HTML5缓存清单适用于http但不适用于https

gca*_*han 4 django https html5 manifest

我的google-fu今天似乎没有吸尘,所以在这里......

我使用wsgi在apache上面有一个django应用程序.我试图使这项工作脱机.我使用正确的mimetype和no-cache标头从django url提供Cache Manifest文件.我在模板中有一个类似的清单引用

<html lang="en" manifest="/myPath/manifest/">
Run Code Online (Sandbox Code Playgroud)

为了调试这个问题,我首先使用最简单的清单文件

CACHE MANIFEST

网络:

*

但是,当我尝试通过https界面提供服务时,这会在chrome中出现以下错误.

使用清单https://127.0.0.1/myPath/manifest/ 应用程序缓存检查事件创建应用程序缓存 应用程序缓存错误事件:清单提取失败(-1) https://127.0.0.1/myPath/manifest/

当通过http提供时,它似乎正常工作.我在我的开发机器上使用自签名安全证书.这是我能想到的唯一可能使http和https服务于同一个清单文件的区别(使用相对链接,因此原点是正确的).造成http和https之间差异的原因是什么,以及如何纠正它?

Sam*_*ain 7

我责怪你的自签名证书.

如果看起来很恐怖的警告对话框还不够,那么Chrome和Firefox对于自签名证书非常苛刻.例如,HSTS不能在任一浏览器中使用自签名证书.

  • 我一直在墙上敲我的头很长一段时间,只有在我通过反复试验弄清楚之后我才找到答案,这是一个很小的问题.似乎谷歌在记录这个问题上有一些工作要做. (3认同)