# 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.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://http3-explained.haxx.se/it/h3/h3-h2.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
