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-Allocationheader. -
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-Allocationheader 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çalhoLarge-Allocationcom 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-Allocationheader was ignored due to the presence of windows which have a reference to this browsing context through the frame hierarchy orwindow.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-Allocationfoi 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-Allocationfoi carregado em uma em uma janela que foi aberta pelowindow.open(),<a target="_blank">ou outros métodos similares semrel="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-Allocationabriu outra janela comwindow.open(),<a target="_blank">ou outros métodos similares sem a funcionalidaderel="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.
- O documento com cabeçalho
- A
Large-Allocationheader 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çalhoLarge-Allocation. - This page would be loaded in a new process due to a
Large-Allocationheader, howeverLarge-Allocationprocess creation is disabled on non-Win32 platforms. -
O Firefox atualmente somente suporta o cabeçalho
Large-Allocationnas 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.