非常教程

HTTP参考手册

标题 | Headers

Large-Allocation

非标准Large-Allocation响应头告诉浏览器正在加载的页面将要执行大量分配。它目前只在 Firefox 中实现,但对每个浏览器都是无害的。

WebAssembly 或 asm.js 应用程序可以使用大量连续的已分配内存块。例如,对于复杂的游戏,这些分配可能非常大,有时高达1GB。的Large-Allocation讲述,在待加载的页面的 web 内容将要要执行大的连续存储器分配的浏览器和浏览器可以通过启动一个专门处理为要被加载的文件到此接头反应,如下例。

Header type

Response header

Forbidden header name

no

句法

Large-Allocation: 0
Large-Allocation: <megabytes>

指令

0是一个特殊值,它表示分配的大小是不确定的。<megabytes>要执行的分配的预期大小,以兆字节为单位。

例子

Large-Allocation: 0
Large-Allocation: 500

排除错误

Large-Allocation不正确使用时头引发警告或错误消息。您将在 Web控制台中 遇到它们。

这个页面由于头文件而被加载到一个新的进程中。这个Large-Allocation消息意味着浏览器看到了Large-Allocation头文件,并且能够将页面重新加载到一个新的进程中,该进程应该有更多可用的连续内存。Large-Allocation由于加载由非GET请求触发。当POST使用请求来加载文档时,该加载当前不能被重定向到新的进程中。Large-Allocation使用非GET HTTP方法加载包含标题的文档时,会显示此错误。这可能是由于文档通过表单提交加载引起的。例如,由于Large-Allocation存在通过框架层次结构引用此浏览上下文的窗口,因此标头被忽略window.opener

错误表示文档未加载到用户打开或未打开打开的选项卡或窗口的顶层。它可能发生在这些情况下:

  • 带有Large-Allocation标题的文档被加载到一个<iframe>。Firefox 目前无法将 iframe 移动到新进程中,因此文档必须在当前进程中加载​​。
  • 带有Large-Allocation标题的文档被加载到打开的窗口中window.open()<a target="_blank">或者其他类似的方法没有被设置rel="noopener"或者"noopener"被设置。这些窗口必须保持与它们的开启者相同的进程,因为它们可以进行通信,这意味着我们不能允许它们切换进程。
  • 带有该文档的文档Large-Allocation header已经打开了另一个窗口window.open()<a target="_blank">或者其他类似的方法没有设置rel="noopener""noopener"功能。这是出于与上述相同的原因,即他们可以沟通,因此我们不能允许他们切换流程。

Large-Allocation由于没有被加载出 process.Firefox 的已经移动到文档的页眉被忽略多进程架构,并且该架构以支持所需要的Large-Allocation标头。一些传统的 Addons 可以防止 Firefox 使用这种新的,更快的多进程体系结构。如果您安装了其中一个 Addons,那么我们将继续使用旧的单进程架构来兼容,并且无法处理头文件。Large-Allocation由于Large-Allocation头文件的原因,此页面将在新进程中加载,但是Large-Allocation在非 -Win32 平台.Firefox 目前只支持Large-Allocation头部在我们的32位 Windows 版本中,因为内存碎片在64位版本中不是问题。如果您运行的是 Firefox 的非 win32 版本,则会显示此错误。该检查可以通过 “dom.largeAllocation” 来禁用。

在 config 中的 forceEnable 布尔设置 preferece。

产品规格

不是任何当前规格的一部分。在这个文件中可以找到这个头文件背后的想法的解释者。

浏览器兼容性

Feature

Chrome

Firefox

Edge

Internet Explorer

Opera

Safari

Basic Support

(No)

53

(No)

(No)

(No)

(No)

Feature

Android

Chrome for Android

Edge mobile

Firefox for Android

IE mobile

Opera Android

iOS Safari

Basic Support

(No)

(No)

(No)

(No)

(No)

(No)

(No)

HTTP

超文本传输协议( HTTP,HyperText Transfer Protocol ) 是互联网上应用最为广泛的一种网络协议。所有的 WWW 文件都必须遵守这个标准。