Paragone con HTTP/2
HTTP/3 è stato disegnato per QUIC, che è un protocollo di trasporto autonomo nel gestire i proprii flussi.
HTTP/2 è stato concepito su TCP, quindi gestisce i sotto-flussi all'interno dello strato HTTP.
Somiglianze
I due protocolli hanno virtualmente un insieme di caratteristiche identico.
Entrambi offrono streams (flussi)
Entrambi supportano la modalità "server push"
Entrambi utilizzano la compressione degli header, QPACK e HPACK risultano molto simili nel design funzionale
Entrambi sfruttano il multiplexing via flussi, su una singola connessione
Entrambi i protocolli contengono la nozione di priorità di flusso
Differenze
Le differenze riguardano i dettagli, soprattutto in relazione al fatto che HTTP/3 usi QUIC:
HTTP/3 funziona meglio con i "dati anticipati" grazie al supporto per la negoziazione a 0-RTT, mentre sappiamo che il TCP Fast Open accoppiato a TLS spesso incontra problemi, inviando comunque minor quantità di dati
Le negoziazioni (handshakes) sono molto più rapide in HTTP/3 grazie a QUIC
Non esistono versioni non crittate o non sicure di HTTP/3. HTTP/2 può ancora essere implementato ed utilizzato senza HTTPS - benché molto raro su Internet
HTTP/2 può essere negoziato direttamente all'interno di una negoziazione TLS grazie all'estensione ALPN. Diversamente, in HTTP/3 (essendo su QUIC) si dovrà a priori informare il client con una risposta contenente l'intestazione
Alt-Svc:
prima che il client stesso possa avere conoscenza di tale risorsa.
Last updated