HTTP/2, cos’è e come funziona

Definizione HTTP/2

HTTP/2 è il nuovo standard, detto a volte Spdy, sviluppato da Google per ottenere migliori prestazioni rispetto al protocollo HTTP: le trasmissioni/ricezioni sono in questo caso criptate via SSL e vengono pure compresse in gzip, in modo da velocizzare il caricamento. HTTP / 2, più nel dettaglio, si focalizza sull’ottimizzazione del flusso di contenuto tra client e server, in modo da velocizzare la comunicazione e renderla più efficente, riducendo i tempi di attesa del client.

È completamente retro-compatibile – il che è fondamentale – con lo standard HTTP / 1.1, il che significa che i siti web funzioneranno allo stesso modo su entrambi i protocolli. Quando un utente si connette a un server, il suo browser negozia una sessione HTTP con il server: poi se è in grado di supportare HTTP/2, lo usa, altrimenti declina automaticamente la scelta (cosiddetto fallback) su HTTP 1.1 classico.

In altri termini, HTTP/2 serve a rendere le nostre applicazioni (siano esse app o siti web) più veloci, più semplici e più solide semplificando la vita a developer e sistemisti e spostando la maggioranza delle problematiche a livello di trasporto.

Caratteristiche tecniche di HTTP/2

Come ogni tecnologia nuova, HTTP/2 sarà difficile da capire al 100% finchè non diventerà uno standard. Ad ogni modo, i principali vantaggi di HTTP/2 sono formalmente i seguenti:

  • aggiungere il supporto per la priorità delle richieste e il server push;
  • ridurre la latenza delle connessioni;
  • attivare il multiplexing di richiesta e relativa risposta;
  • minimizzare il sovraccarico di protocollo sui server che ne fanno uso.

. Per implementare questi requisiti, esiste un grande supporto di altri miglioramenti del protocollo, come il nuovo controllo del flusso, il trattamento degli errori e i meccanismi di aggiornamento, ma queste sono le caratteristiche più importanti che ogni sviluppatore web deve comprendere e sfruttare nelle proprie applicazioni.

Cosa cambia tra HTTPS e HTTP/2

HTTPS è il protocollo sicuro per crittografare le connessioni ed autenticare client e server, mentre HTTP/2 (detto anche Spdy) è la sua versione potenziata e più veloce/efficente.

A dispetto del nome, quindi, Spdy o HTTP/2 funziona in HTTPS, non con la sua versione in chiaro (a meno che non avvenga il fallback di cui sopra).

Cosa cambia in HTTP/2 a livello di codice?

Nulla: in HTTP/2 persistono i classici codici di stato HTTPS, gli URI ed i vari campi di intestazione.

A che livello opera HTTP/2?

HTTP/2 agisce a livello di trasporto, e questo garantisce un funzionamento trasparente anche nel caso di switch ad un protocollo che non dovesse essere HTTP/2.

Cosa comporta HTTP/2 nella pratica

In termini pratici, questo si traduce nell’incremento sostanziale della velocità di caricamento della pagina, senza dover modifiche elementi funzionali della stessa. Il tutto nasce da un esperimento noto come SPeeDY (SPDY in sigla), un protocollo application-layer per il trasporto dei contenuti sul web, progettato specificatamente per avere latenza minima.

Secondo i test sviluppati in laboratorio, SPDY (quindi HTTP/2) migliora fino al 64% i tempi di caricamento delle pagine web.

HTTP/2 e browser: compatibilità non ancora al 100%

Contrariamente ai vari spiegoni tecnici che trovate in giro, HTTP/2 non è solo questione di server ma anche di browser: non tutti, infatti, ne garantiscono il supporto al 100%. La copertura attuale comunque è assestata sul 95% dei browser mondiali per cui, in linea di massima, non dovrebbero esserci troppi problemi nel passaggio.

Secondo quanto riportato dal sito Can I Use, HTTP/2 funziona pienamente solo su browser:

  • Edge;
  • Firefox, Chrome, Safari, Opera (nelle versioni più recenti);
  • Chrome e Firefox per Android;
  • Opera Mobile (nuove versioni)
  • Samsung Internet, Baidu browser e QQ Browser.

Sui seguenti browser il supporto è parziale o non garantito al 100%:

  • Internet Explorer
  • Firefox, Chrome, Safari, Opera (nelle versioni più vecchie);
  • Opera Mini
  • Opera Mobile (vecchie versioni)

HTTP/2 e open source

Il protocollo HTTP/2 viene sviluppato ed adottato progressivamente da molte realtà del web, di cui moltissime open source: la pagina per sperimentare il protocollo è qui, mentre un esempio di server HTTP/2 (ad oggi non molto diffusi) si trova qui.

(fonte)

1 voto