Impostazione delle priorità per la rete

Internet Explorer 11 imposta le priorità delle richieste di rete in modo da consentire di iniziare a usare una pagina Web più velocemente. Gli sviluppatori possono inoltre influenzare l'ordine di caricamento delle risorse delle pagine Web.

Impostazione delle priorità per le richieste di rete

In questo argomento scoprirai come funziona l'assegnazione delle priorità in IE11 per il caricamento delle pagine e come ritardare il caricamento di singole risorse.

Anche se alcune pagine Web possono essere caricate con una singola richiesta, la maggior parte richiede più richieste, a causa degli elementi della pagina. Immagini, fogli di stile e librerie di script vengono caricati da richieste distinte rispetto a quella usata per caricare la pagina Web originale.

Una pagina Web può contenere diversi tipi di risorse:

  1. Documento radice
  2. Fogli di stile CSS
  3. Tipi di carattere WOFF
  4. Librerie di script
  5. Immagini caricate tramite gestori eventi onload
  6. Richieste XHR (XMLHttpRequest) sincrone
  7. Richieste di script asincrone (come indexedDB, Web worker, API per i file e altre)
  8. Richieste XHR asincrone
  9. Elementi audio e video HTML5
  10. Controlli Microsoft ActiveX e di altro tipo caricati tramite l'elemento object
  11. Codice JavaScript differito (defer="true")

Questo elenco imposta la priorità di ogni richiesta in base al tipo. A partire da IE11, alle singole richieste di rete viene assegnata una priorità in base al tipo, generalmente in questo ordine.

Ogni risorsa può richiedere più richieste di rete. Al livello di gestione della connessione (TCP) nelle versioni precedenti di Internet Explorer ogni richiesta viene gestita nello stesso modo, indipendentemente dal tipo di risorsa da caricare o dal relativo contesto. Le immagini e i tipi di carattere di sfondo sono considerati come fogli di stile collegati. Le richieste dalle schede in secondo piano vengono gestite come quelle dalla scheda in primo piano.

A partire da IE11, alle singole richieste di rete viene assegnata una priorità in base al tipo, generalmente nell'ordine sopra indicato. Le richieste provenienti dal documento radice di una pagina Web, ad esempio, hanno una priorità più alta rispetto alle richieste JavaScript rinviate.

Quando il numero di richieste in sospeso è maggiore del numero di connessioni disponibili, le richieste vengono gestite in base alla relativa priorità. Se esiste una scelta tra connessioni ottimizzate e non ottimizzate, alle richieste con priorità maggiore vengono assegnate le connessioni ottimizzate, prima delle richieste con priorità inferiore.

IE11 imposta la priorità delle richieste anche in base al loro contesto:

  1. Richieste effettuate dalla pagina Web nella scheda in primo piano
  2. Richieste effettuate dal contenuto caricato negli elementi iframe nella scheda in primo piano
  3. Richieste effettuate dalle pagine Web nelle schede in secondo piano
  4. Richieste di contenuto con prerendering

Come prevedibile, le richieste effettuate dalla scheda in primo piano hanno una priorità maggiore rispetto a quelle dalle schede in secondo piano.

Ritardo del caricamento delle risorse

Gli sviluppatori possono usare l'attributo lazyload per ritardare il caricamento di singole risorse. In questo modo il contenuto importante può essere caricato il più velocemente possibile, mentre le risorse meno importanti potrebbero essere caricate in seguito. (In assenza di connessioni contese o di risorse con priorità maggiore, le risorse con priorità bassa vengono caricate normalmente). Ciò contribuisce a migliorare il livello percepito di prestazioni per una pagina Web, perché per l'utente tutto sembra accadere più rapidamente, in particolare con pagine Web complesse.

Questi elementi supportano l'attributo lazyload:

Quando l'attributo lazyload è impostato su "true", le richieste dei livelli di connessione necessarie per visualizzare l'elemento vengono elaborate dopo le richieste con priorità maggiore.

Ecco come usare lazyload:


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

Informazioni di riferimento sulle API

lazyload

 

 

Mostra:
© 2014 Microsoft