?
This document uses PHP Chinese website manual Release
非標(biāo)準(zhǔn)Large-Allocation
響應(yīng)頭告訴瀏覽器正在加載的頁面將要執(zhí)行大量分配。它目前只在 Firefox 中實(shí)現(xiàn),但對(duì)每個(gè)瀏覽器都是無害的。
WebAssembly 或 asm.js 應(yīng)用程序可以使用大量連續(xù)的已分配內(nèi)存塊。例如,對(duì)于復(fù)雜的游戲,這些分配可能非常大,有時(shí)高達(dá)1GB。的Large-Allocation
講述,在待加載的頁面的 web 內(nèi)容將要要執(zhí)行大的連續(xù)存儲(chǔ)器分配的瀏覽器和瀏覽器可以通過啟動(dòng)一個(gè)專門處理為要被加載的文件到此接頭反應(yīng),如下例。
Header type | Response header |
---|---|
Forbidden header name | no |
Large-Allocation: 0Large-Allocation: <megabytes>
0
是一個(gè)特殊值,它表示分配的大小是不確定的。<megabytes>
要執(zhí)行的分配的預(yù)期大小,以兆字節(jié)為單位。
Large-Allocation: 0Large-Allocation: 500
Large-Allocation
不正確使用時(shí)頭引發(fā)警告或錯(cuò)誤消息。您將在 Web控制臺(tái)中 遇到它們。
這個(gè)頁面由于頭文件而被加載到一個(gè)新的進(jìn)程中。這個(gè)Large-Allocation
消息意味著瀏覽器看到了Large-Allocation
頭文件,并且能夠?qū)㈨撁嬷匦录虞d到一個(gè)新的進(jìn)程中,該進(jìn)程應(yīng)該有更多可用的連續(xù)內(nèi)存。Large-Allocation
由于加載由非GET請(qǐng)求觸發(fā)。當(dāng)POST
使用請(qǐng)求來加載文檔時(shí),該加載當(dāng)前不能被重定向到新的進(jìn)程中。Large-Allocation
使用非GET HTTP方法加載包含標(biāo)題的文檔時(shí),會(huì)顯示此錯(cuò)誤。這可能是由于文檔通過表單提交加載引起的。例如,由于Large-Allocation
存在通過框架層次結(jié)構(gòu)引用此瀏覽上下文的窗口,因此標(biāo)頭被忽略window.opener
。
錯(cuò)誤表示文檔未加載到用戶打開或未打開打開的選項(xiàng)卡或窗口的頂層。它可能發(fā)生在這些情況下:
帶有Large-Allocation
標(biāo)題的文檔被加載到一個(gè)<iframe>
。Firefox 目前無法將 iframe 移動(dòng)到新進(jìn)程中,因此文檔必須在當(dāng)前進(jìn)程中加載。
帶有Large-Allocation
標(biāo)題的文檔被加載到打開的窗口中window.open()
,<a target="_blank">
或者其他類似的方法沒有被設(shè)置rel="noopener"
或者"noopener"
被設(shè)置。這些窗口必須保持與它們的開啟者相同的進(jìn)程,因?yàn)樗鼈兛梢赃M(jìn)行通信,這意味著我們不能允許它們切換進(jìn)程。
帶有該文檔的文檔Large-Allocation header
已經(jīng)打開了另一個(gè)窗口window.open()
,<a target="_blank">
或者其他類似的方法沒有設(shè)置rel="noopener"
該"noopener"
功能。這是出于與上述相同的原因,即他們可以溝通,因此我們不能允許他們切換流程。
Large-Allocation
由于沒有被加載出 process.Firefox 的已經(jīng)移動(dòng)到文檔的頁眉被忽略多進(jìn)程架構(gòu),并且該架構(gòu)以支持所需要的Large-Allocation
標(biāo)頭。一些傳統(tǒng)的 Addons 可以防止 Firefox 使用這種新的,更快的多進(jìn)程體系結(jié)構(gòu)。如果您安裝了其中一個(gè)
Addons,那么我們將繼續(xù)使用舊的單進(jìn)程架構(gòu)來兼容,并且無法處理頭文件。Large-Allocation
由于Large-Allocation
頭文件的原因,此頁面將在新進(jìn)程中加載,但是Large-Allocation
在非 -Win32 平臺(tái).Firefox 目前只支持Large-Allocation
頭部在我們的32位 Windows 版本中,因?yàn)閮?nèi)存碎片在64位版本中不是問題。如果您運(yùn)行的是 Firefox 的非 win32 版本,則會(huì)顯示此錯(cuò)誤。該檢查可以通過 “dom.largeAllocation” 來禁用。
在 config 中的 forceEnable 布爾設(shè)置 preferece。
不是任何當(dāng)前規(guī)格的一部分。在這個(gè)文件中可以找到這個(gè)頭文件背后的想法的解釋者。
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) |