HTTP/3 È in arrivo QUIC, Ecco Cosa È Necessario Sapere

0
230
Shutterstock/Robert Avgustin

HTTP/3 è la prossima generazione del protocollo HTTP. E ‘ alimentato da QUIC, che sostituisce il protocollo TCP a livello di trasporto e riduce il numero di viaggi client deve fare per stabilire una connessione.

Cosa Lo Rende Migliore?

Se non si può dire dall’acronimo “QUIC,” HTTP:/3 è molto più veloce.

HTTP è solo una parte del modello OSI, che i poteri di internet come la conosciamo. Ogni livello del modello serve uno scopo diverso, con un alto livello di Api come HTTP seduto in alto (livello applicativo), tutto il senso giù per la fisica fili e le connessioni spina nel router:

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

TCP (transport layer) è il colpevole qui; è stato progettato negli anni ’70, e, come tale, non è stato costruito per gestire la comunicazione in tempo reale molto bene. HTTP-over-TCP ha raggiunto il suo limite. Google e il resto del tech spazio al lavoro su una sostituzione per il protocollo TCP.

Nel 2012, Google ha creato SPDY, un protocollo che si basa su TCP e risolve un sacco di problemi comuni. SPDY stesso è deprecato, ma le parti di esso in HTTP/2, che è attualmente utilizzato dal 40% del web.

QUIC è un nuovo standard, molto simile a SPDY, ma è costruito sulla cima di UDP invece di TCP. UDP è molto più veloce rispetto a TCP, ma in genere è meno affidabile in quanto non ha lo stesso controllo di errore e la prevenzione delle perdite TCP fa. E ‘ comunemente usato in applicazioni che non richiedono pacchetti di essere nel giusto ordine, ma la cura su di latenza (come la chiamate video in diretta).

QUIC è ancora affidabile, ma non implementa il controllo di errore e di affidabilità su UDP, in modo che si ottiene il meglio di entrambi i protocolli. La prima volta che un utente si connette a un QUIC-sito abilitato, faranno così su TCP.

Il problema principale con il protocollo TCP che QUIC correzioni head-of-line di blocco. Una volta che viene stabilita una connessione tra il server e il client, il server invia i pacchetti di dati al client. Se la connessione è male e un pacchetto viene perso, il cliente detiene tutti i pacchetti ricevuti dopo che fino a quando il server ritrasmette la perdita di pacchetti. HTTP/2 consente di risolvere questo problema un po’, consentendo a più trasferimenti tramite la stessa connessione TCP, ma non è perfetta e può effettivamente essere più lento di HTTP/1 con elevata perdita di connessioni.

QUIC risolve questo problema, e si occupa di elevata perdita di connessioni molto meglio. I primi test da parte di Google ha mostrato miglioramenti di circa il 15% di alta latenza scenari, e fino al 30% di miglioramenti nel buffer video su connessioni mobili. Perché QUIC riduce il numero di strette di mano che deve essere fatto, ci sarà la latenza miglioramenti su tutta la linea.

E ‘ Difficile Da Implementare?

Mentre QUIC è un nuovo standard, è costruito sulla cima di UDP, che è già supportato quasi ovunque. Non richiede eventuali nuovi aggiornamenti del kernel, che può essere problematico per i server. QUIC dovrebbe funzionare su qualsiasi sistema che supporti UDP

HTTP-over-QUIC dovrebbe essere un rimpiazzo per HTTP over TCP, una volta che è prontamente disponibile. Al momento della scrittura, Chrome ha il supporto per QUIC, ma è disabilitato per impostazione predefinita. È possibile attivare per il test andando su:

chrome://flags

e l’accensione dello “Sperimentale QUIC protocollo” di bandiera. Firefox aggiungere il supporto più tardi di questo autunno, e con Bordo in movimento al Cromo, che raccoglierà presto pure.

Sul lato server, Se si utilizza CloudFlare come il CDN, sarete in grado di attivare l’opzione già nel cruscotto della vostra auto, anche se non hanno molti clienti, in realtà fino a quando il browser mobile l’hanno attivata per impostazione predefinita. Velocemente si sta attivamente lavorando su un supporto. Se si desidera attivare il tuo web server, però, dovrete aspettare un po ‘ —il sostegno precoce QUIC arriverà durante il nginx 1.17 ciclo di sviluppo, ma Apache supporto è nulla in vista di sicurezza.

Una volta nginx e Apache sono aggiornati per il supporto, aggiungendo QUIC alla tua pagina web o web app sarà semplice come aggiornare il vostro web server e abilitare l’opzione. Non è necessario apportare modifiche alla vostra applicazione o il tuo codice, in quanto il tutto viene gestito con l’infrastruttura di livello. Non è ancora arrivato, ma è in arrivo molto presto, e sarà sicuramente vuole abilitare una volta che è supportato di default.