Large-Allocation

O cabeçalho de resposta não padronizado Large-Allocation diz ao nevagador que a página que está sendo carregada vai performar uma grande alocação. Ele é atualmente implementado somente no Firefox, mas é inofensivo para ser enviado para qualquer navegador.

Aplicações WebAssembly ou asm.js podem usar grandes blocos contíguos de memória alocada. Para jogos complexos, por exemplo, estas alocações podem ser bem grandes, algumas vezes grandes na escala de 1GB. O Large-Allocation diz ao navegador que o conteúdo web que será carregado vai querer performar uma grande alocação de memória contígua e o navegador pode reagir a este cabeçalho iniciando um processo dedicado para carregador o documento, por exemplo.

Tipo de cabeçalho Response header
Forbidden header name não

Sintaxe

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

Diretivas

0
0 é um valor especial que representa incerteza em relação a qual será o tamanho da alocação.
<megabytes>
O tamanho esperado da alocação a ser performada, em megabytes.

Exemplos

Large-Allocation: 0
Large-Allocation: 500

Tratamento de erros

O cabeçalho Large-Allocation joga mensagens de aviso ou erro quando utilizado incorretamente. Você vai encontrá-los no console web.

This page was loaded in a new process due to a Large-Allocation header.
Esta mensagem significa que o navegador viu o cabeçalho Large-Allocation, e conseguiu recarregar a página em um novo processo que deve ter mais memória contígua disponível.
A Large-Allocation header was ignored due to the load being triggered by a non-GET request.
Quando uma requisição POST é usada para carregar um documento, aquele carregamento não pode ser redirecionado para um novo processo. Este erro é mostrado quando carregando um documento com um cabeçalho Large-Allocation com um método HTTP que não seja GET. Isto pode ter sido causado devido ao documento estar sendo carregado por um formulário de submissão, por exemplo.
A Large-Allocation header was ignored due to the presence of windows which have a reference to this browsing context through the frame hierarchy or window.opener.

Este erro significa que o documento não foi carregado no nível mais alto de uma janela ou aba aberta, ou não aberta do usuário. Ele pode ocorrere nestas situações:

  • O documento com cabeçalho Large-Allocation foi carregado em um <iframe>. O Firefox não pode mover um iframe em um novo processo atualmente, então o documento deve carregar no novo processo.
  • O documento com cabeçalho Large-Allocation foi carregado em uma em uma janela que foi aberta pelo window.open(), <a target="_blank"> ou outros métodos similares sem rel="noopener" ou a funcionalidade "noopener" sendo colocado. Estas janelas devem permanecer no mesmo processo que o abriu, já que eles podem se comunicar, significando que não podemos permití-los trocar processos.
  • O documento cabeçalho Large-Allocation abriu outra janela com window.open(), <a target="_blank"> ou outros métodos similares sem a funcionalidade rel="noopener" ou "noopener" sem colocada. Isto é para o mesmo motivo, This is for the same reason as above, ou seja, que eles podem se comunicar e, portanto, não podemos permitir que eles alternem processos.
A Large-Allocation header was ignored due to the document not being loaded out of process.
O Firefox moveu para uma arquitetura multiprocesso, e esta arquitetura é necessária para suportar o cabeçalho Large-Allocation. Alguns Addons legado podem previnir o Firefox de usar esta nova, e mais rápida arquitetura multiprocesso. Se você tem um destes Addons, então nós vamos continuar a utilizar a antiga arquitetura de processo único para compatibilidade, e não pode lidar com o cabeçalho Large-Allocation.
This page would be loaded in a new process due to a Large-Allocation header, however Large-Allocation process creation is disabled on non-Win32 platforms.
O Firefox atualmente somente suporta o cabeçalho Large-Allocation nas versões 32-bits do Windows, como fragmentação de memória não é um problema em versões 64-bits. Se você está rodando uma versão não win32 do Firefox, este erro irá aparecer. Esta checagem pode ser desabilitada com a preferência de booleano "dom.largeAllocation.

forceEnable" em about:config.

Especificações

Não faz parte de nenhuma especificação atualmente. Uma explicação das ideias por trás deste cabeçalho podem ser encontradas neste documento.

Compatibilidade de navegador

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
Large-Allocation
ExperimentalNon-standard
Chrome No support NoEdge No support NoFirefox Full support 53IE No support NoOpera No support NoSafari No support NoWebView Android No support NoChrome Android No support NoFirefox Android No support NoOpera Android No support NoSafari iOS No support NoSamsung Internet Android No support No

Legend

Full support  
Full support
No support  
No support
Experimental. Expect behavior to change in the future.
Experimental. Expect behavior to change in the future.
Non-standard. Expect poor cross-browser support.
Non-standard. Expect poor cross-browser support.

Veja também