Priorização de rede

O Internet Explorer 11 prioriza solicitações de rede para que você possa começar a usar uma página da Web com mais rapidez. Os desenvolvedores também podem influenciar a ordem em que os recursos de páginas da Web são carregados.

Priorizando solicitações de rede

Aqui, você verá como o IE11 prioriza o carregamento de páginas e como atrasar recursos individuais para que eles sejam carregados depois.

Embora algumas páginas da Web possam ser carregadas com uma única solicitação, a maioria exige várias solicitações devido aos itens na página. Imagens, folhas de estilo e bibliotecas de script são carregadas a partir de solicitações separadas daquela utilizada para carregar a página da Web original.

Uma página da Web pode conter diferentes tipos de recursos:

  1. O documento raiz da página da Web
  2. Folhas de estilos CSS
  3. Fontes WOFF
  4. Bibliotecas de scripts
  5. Imagens carregadas por meio de manipuladores de eventos onload
  6. Solicitações (XHR) XMLHttpRequest síncronas
  7. Solicitações de script assíncronas (por exemplo, indexedDB, Web Workers, API do Arquivo etc.)
  8. Solicitações XHR assíncronas
  9. HTML5 audio e video
  10. Microsoft ActiveX e outros controles carregados por meio do elemento object
  11. JavaScript adiado (defer="true")

Esta lista prioriza cada solicitação por tipo. A partir do IE11, cada solicitação de rede é priorizada por tipo, geralmente nessa ordem.

Cada recurso pode exigir várias solicitações de rede. Na camada de gerenciamento de conexões (TCP), as versões anteriores do Internet Explorer tratavam cada solicitação da mesma maneira, independentemente do tipo de recurso sendo carregado ou de seu contexto. Imagens e fontes de telas de fundo eram tratadas como se fossem folhas de estilos vinculadas. Da mesma forma, as solicitações de guias de segundo plano recebiam o mesmo tratamento das guias de primeiro plano.

A partir do IE11, cada solicitação de rede é priorizada por tipo, geralmente na ordem mostrada. Por exemplo, as solicitações do documento raiz de uma página da Web têm uma prioridade maior do que as solicitações JavaScript adiadas.

Quando o número de solicitações pendentes é maior do que o número de conexões disponíveis, as solicitações são manipuladas de acordo com sua prioridade. Se houver uma escolha entre conexões otimizadas e conexões não otimizadas, as solicitações de alta prioridade receberão as conexões otimizadas antes das solicitações de prioridade mais baixa.

O IE11 também prioriza solicitações com base no contexto da solicitação:

  1. Solicitações feitas pela página da Web na guia de primeiro plano
  2. Solicitações feitas pelo conteúdo carregado nos elementos de iframe da guia de primeiro plano
  3. Solicitações feitas por páginas da Web em guias de segundo plano
  4. Solicitações de conteúdo pré-renderizado

Como seria de se esperar, as solicitações feitas na guia de primeiro plano recebem maior prioridade do que as solicitações nas guias de segundo plano.

Atrasando o carregamento de recursos

Os desenvolvedores podem usar o atributo lazyload para atrasar o carregamento de recursos individuais. Dessa maneira, o conteúdo importante é carregado com a máxima rapidez possível, e os recursos menos relevantes são carregados depois. (Se não houver conexões contestadas ou recursos de prioridade mais alta, os recursos de prioridade baixa serão carregados normalmente). Isso pode melhorar o desempenho percebido de uma página da Web, pois o usuário vê as coisas acontecendo mais rapidamente, principalmente com páginas da Web complexas.

Esses elementos dão suporte ao atributo lazyload:

Quando lazyload está definido como "true", as solicitações de níveis de conexão necessárias para exibir o elemento são processadas após as solicitações de prioridade mais alta.

A seguir está a maneira de usar lazyload:


<img src="example.jpg" lazyload="1" />

Referência de API

lazyload

 

 

Mostrar:
© 2014 Microsoft