问题标签 [cache-manifest]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
71 浏览

security - 缓存清单可以用作页面或 Web 应用程序的“防火墙”吗?

在使用HTML5 缓存清单时,我最终了解到,/该段下的列表NETWORK有效地拒绝了所有域外连接,例如 CDN 链接。

同样,使用*通配符允许所有资源:

NETWORK拒绝任何地方的所有连接:

这样的网络策略规则会很整洁。尤其是/域锁定似乎是XSS 攻击的一个甜蜜的小障碍。浏览器实现在这方面是否有所不同,或者将其用作基本级别的网络过滤器(Web 应用程序“防火墙”的另一层)是否符合规定并且安全?

0 投票
3 回答
1664 浏览

windows-authentication - Windows/NTLM 身份验证的应用程序缓存清单文件错误

浏览器如何实现对应用程序缓存清单文件的请求,它与请求其他文件的方式有什么不同?

我之所以问,是因为在 IIS 7 中使用 Windows/NTLM 身份验证时,我看到了我不会预料到的行为。情况是​​我有一个定义了清单文件的站点。使用匿名身份验证,一切都按预期工作——站点加载并可以脱机使用。

当我禁用匿名并启用 Windows 身份验证时,该站点将在身份验证后正常加载,但我会在控制台(在 Chrome 或 iPad 2 上)中看到一个错误,指出无法获取清单文件。

在 iPad 上,错误是无法获取应用程序缓存文件。在 Chrome 中,具体错误是“应用程序缓存错误事件:清单提取失败 (401)”。在这两个实例中,我都可以在 Web 服务器日志中看到 401 响应代码。

为什么这种行为似乎出乎意料是对所有其他资源(CSS、JavaScript、图像)的请求都按预期工作。此外,我可以浏览到我的 .appcache 文件并加载它。

谁能解释发生了什么?

有没有其他人遇到过这个问题并找到了解决方案?

0 投票
1 回答
1148 浏览

html - HTML5 缓存清单 如果可能,如何请求在线查看缓存文件?

我正在为 iPhone 开发一个 Web HTML5 应用程序,但我陷入了一个相当奇怪的境地。我需要缓存整个内容以供离线使用,这很好,但问题是,当您稍后在线时,它仍然使用缓存版本。我需要该应用程序尽可能使用在线版本而不是缓存版本,但我无法找到任何有关这样做的信息。

提前致谢!

0 投票
1 回答
99 浏览

html - HTML 缓存清单阻止浏览器加载资源

我有一个带有以下行的 HTML 清单:

此外,该页面包括例如 jQuery 和许多其他资源。除了清单中命名的那些(这里:)之外,所有这些都没有加载images/foo.png。我如何告诉浏览器加载除清单中明确定义的文件之外的所有文件?

谢谢

0 投票
2 回答
786 浏览

html - HTML 5 离线应用程序无法加载缓存资源

我使用清单文件
缓存了我的网站的静态资源 但是当我在未连接互联网时运行网站时未显示图像。
图像也应该缓存,因为我将它们放在清单文件中。
例如,我已经缓存了这个文件,但是当 Internet 断开连接时,这个文件没有加载。
这是谷歌浏览器控制台快照
谷歌浏览器控制台

0 投票
3 回答
1204 浏览

html - 如何在 CakePHP 中使用 html5 缓存清单?

我想在CakePHP中使用html5缓存清单技术,但是我不知道在CakePHP中将缓存清单放在哪里,我已经搜索了一个解决方案,但我没有找到任何东西。你能帮助我吗?

0 投票
1 回答
478 浏览

html - 当缓存清单中不存在时,Chrome 从缓存中提供资源

我正在玩 HTML 5 缓存清单,我在 Chrome 中看到了一个非常奇怪的问题。这是页面的标题:

以下是从提琴手捕获的清单内容:

我在页面的标题内有一个特定的脚本,该脚本是在服务器上动态生成的。以下是用户第一次访问该页面时为该脚本标签返回的内容:

您可以看到脚本既不在 Cache-manifest 中,也不在其标头允许浏览器 (Chrome) 缓存它。仍然当我随后在浏览器中打开同一页面时,Chrome 会从缓存清单加载页面,这没关系。然而令人惊讶的是,它也从缓存中加载了 <script>。我可以验证它,因为我的服务器断点没有被命中,Fiddler 也没有显示对此 <script> 的请求。网络没有关闭并且服务器可以访问(这应该没有什么不同,因为 Chrome 被要求不要缓存这个 <script> 反正)。

这是预期的行为吗?Chrome 不应该再次从服务器请求 <script> ,即使它的包含页面是从清单缓存中加载的。

Chrome 的 chrome://appcache-internals 在缓存中也只显示了 2 个 url,这也很好,为什么它会从缓存而不是服务器加载 <script> Chrome 的 chrome://appcache-internals 在缓存中也只显示了 2 个 url,这也很好,为什么它会从缓存而不是服务器加载 <script>

0 投票
2 回答
1188 浏览

html - grails中的Html5 Mime类型错误

我正在尝试使用用于 iPad 的 grails 1.3.7 创建 Web 应用程序,并使用缓存清单离线保存数据。我的离线数据在 Chrome 中工作得很好,但在 Safari、iPad 和 Mozilla 中,它给出了一个错误,指出应用程序缓存清单的 MIME 类型不正确:text/plain. 我已将 mime 类型设置Config.groovy如下:

但是其他浏览器仍然不接受它。我真的很困惑这是一个 html5 问题还是 grails。它适用于铬。

0 投票
1 回答
10280 浏览

html - 在 Chrome 和 Safari 中禁用应用程序缓存

我正在使用 AppCache 来启用 Web 应用程序的离线访问。问题是,对于开发来说,每次我对 JavaScript 进行更改时,我还需要对清单进行更改(以触发缓存字段的重新下载)。现在我知道在FireFox中你可以禁用AppCache(实际上当你第一次访问页面时会提示你是否授予网站在本地存储数据的权限)这使得开发更加方便。

我的问题是 chrome 和 safari 是否有类似的选项?我知道我可以通过 chrome://appcache-internals/ 在 chrome 中查看/编辑 AppCache,我正在寻找一种禁用它的方法。

谢谢

0 投票
0 回答
676 浏览

html - Cache-Manifest 如何处理身份验证 cookie?

使用缓存清单时如何读取/存储身份验证 cookie?

我正在使用缓存清单来加速具有 Safari Mobile 浏览器基线的 jquery-mobile 应用程序。我正在使用多页模板,在其中一个页面中,我向我的服务器发出 ajax 请求以获取动态数据。

我遇到的问题是,当我缓存多页模板(index.html)时,从技术上讲,它在随后的重新加载/视图期间没有经过身份验证,并且当我发出 ajax 请求时,服务器无法读取预期的 cookie 值绕过 ACL,从而允许获取请求。

预先感谢您的回复。