Pet*_*ugh 8 apache html5 caching basic-authentication
我有一个使用HTML5缓存并且工作可爱的网站.
当我使用Basic Auth(.htpasswd)保护站点时,缓存似乎不起作用.理想情况下,我希望该网站为经过身份验证的用户进行缓存.我的理论是,当他们离线访问该站点时,服务器实际上并未被命中,因此显示了缓存版本.
HTML5规范的一部分是,如果页面受到保护,它们不会被缓存吗?我找不到任何参考.
有没有人成功创建过密码保护的可缓存应用程序?
我不确定这是否是特定于浏览器的,但我在Safari中进行测试 - 这是一个iPad应用程序.
提前致谢
这实际上是由CORS引起的,因为浏览器将请求视为跨域请求。
一个好的解决方案是添加crossorigin='use-credentials'到清单定义中,如下所示:
<link rel="manifest" crossorigin="use-credentials" href="/manifest.json">
Run Code Online (Sandbox Code Playgroud)
然后,这会将您的凭据传递到清单请求。
有关此设置的更多信息::https://developer.mozilla.org/en-US/docs/Web/HTML/CORS_settings_attributes
其他一些人在 iOS 3.x 上抱怨同样的问题,并表示将清单文件移到 auth 目录之外似乎可以解决问题: http://lists.apple.com/archives/safari-iphone-web-dev/ 2010年9月/msg00000.html
我能够使用相关文件夹中的 .htaccess 文件解决该问题,如下所示:
AddType text/cache-manifest .manifest
<FilesMatch "your.manifest">
Order Allow,Deny
Allow from all
</FilesMatch>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2243 次 |
| 最近记录: |