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çalhoLarge-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 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-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 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-Allocation
abriu 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-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çalhoLarge-Allocation
. - This page would be loaded in a new process due to a
Large-Allocation
header, howeverLarge-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.