Quello che devi sapere su HTTP / 3

Contenuti

protocollo HTTP.

HTTP / 3 è la prossima generazione del protocollo HTTP. È alimentato da QUIC, che sostituisce TCP a livello di trasporto e riduce il numero di round trip che un client deve effettuare per determinare una connessione.

Cosa lo rende migliore?

Si no puede saberlo por el acrónimoQUIC”, HTTP / 3 è molto più veloce.

HTTP è solo una parte di Modello OSI, che alimenta Internet come lo conosciamo. Ogni strato del modello ha uno scopo diverso, con API di alto livello come HTTP situate in alto (il livello dell'applicazione), fino ai cavi fisici e alle connessioni che si collegano ai router:

HTTP fa parte del modello OSI

Ma c'è un collo di bottiglia in questo modello e, nonostante il nuovo nome, lo standard HTTP in sé non è il problema.

TCP (lo strato di trasporto) è il colpevole qui; è stato progettato negli anni 70 e, come tale, non è stato costruito per gestire molto bene la comunicazione in tempo reale. HTTP-over-TCP ha raggiunto il limite. Google e il resto dello spazio tecnologico hanno lavorato su un sostituto per TCP.

Sopra 2012, Google ha creato SPDY, un protocollo che si basa su TCP e risolve molti problemi comuni. Lo stesso SPDY è deprecato, ma parti di esso si sono fatte strada in HTTP / 2, che in questo momento usa 40% dal web.

QUIC è un nuovo standard, molto simile a SPDY, ma è costruito su UDP invece che su TCP. UDP è molto più veloce di TCP, ma in generale è meno affidabile poiché non ha lo stesso controllo degli errori e prevenzione delle perdite di TCP. È comunemente usato in applicazioni che non richiedono che i pacchetti siano nella Esattamente giusto ordine, ma si preoccupano della latenza (come le videochiamate dal vivo).

QUIC rimane affidabile, ma implementa il controllo degli errori e l'affidabilità contemporaneamente a UDP, così ottieni il meglio da entrambi i protocolli. La prima volta che un utente si connette a un sito abilitato per QUIC, lo farà tramite TCP.

Il problema principale con TCP che QUIC risolve è il blocco dell'intestazione. Una volta stabilita una connessione tra il server e il client, il server invia pacchetti di dati al client. Se la connessione è scadente e un pacchetto è perso, il client trattiene tutti i pacchetti ricevuti fino a quando il server non ritrasmette il pacchetto perso. HTTP / 2 risolvere questo problema in qualche modo, consentendo più trasferimenti sulla stessa connessione TCP, ma non è perfetto e potrebbe effettivamente essere più lento di HTTP / 1 con connessioni ad alta perdita.

QUIC risolve questo problema e gestisce molto meglio le connessioni ad alta perdita. I primi test di Google hanno mostrato miglioramenti di circa 15% in scenari ad alta latenza e fino a 30% miglioramenti nel buffering video su connessioni mobili. Perché QUIC riduce il numero di strette di mano che devono essere eseguite, ci saranno miglioramenti della latenza su tutta la linea.

È difficile da implementare??

Sebbene QUIC sia un nuovo standard, si basa su UDP, che è già compatibile quasi ovunque. Non richiede nuovi aggiornamenti del kernel, cosa può essere problematico per i server?. QUIC dovrebbe funzionare immediatamente su qualsiasi sistema che supporti UDP

HTTP-over-QUIC dovrebbe sostituire direttamente HTTP-over-TCP una volta che sarà disponibile. Al momento di scrivere questo post, Chrome supporta QUIC, ma è disabilitato di default. Puoi abilitarlo per il test andando su:

cromo://bandiere

y activando la banderaProtocolo QUIC experimental”. Firefox aggiungerà il supporto più avanti in autunno, e con Edge che passa a Chromium, riceveranno presto anche supporto.

Alla fine del server, se stai usando CloudFlare come CDN, puoi abilitare l'opzione già nel tuo pannello, anche se non avrai molti client che lo utilizzeranno fino a quando i browser mobili non lo avranno attivato per impostazione predefinita. rapidamente è lavorando attivamente a sostegno. Nonostante questo, se vuoi abilitarlo sul tuo server web, bisognerà aspettare un po'; il supporto anticipato per QUIC è programmato per arrivare in tutto il ciclo di sviluppo nginx 1.17, ma il supporto per Apache non è ancora in vista.

Una volta che nginx e Apache sono stati aggiornati per supportarlo, aggiungere QUIC alla tua pagina web o applicazione web sarà semplice come aggiornare il tuo server web e abilitare l'opzione. Non dovrai apportare alcuna modifica alla tua applicazione o al tuo codice, poiché tutto è gestito a livello di infrastruttura. Non ancora qui, ma arriverà molto presto, e vorrai sicuramente abilitarlo una volta che è supportato per impostazione predefinita.

Iscriviti alla nostra Newsletter

Non ti invieremo posta SPAM. Lo odiamo quanto te.