Passa al contenuto principale

3. Avvio di HTTP/2 (Starting HTTP/2)

Le connessioni HTTP/2 vengono stabilite tramite diversi meccanismi:

  • Per URI "https": TLS con estensione ALPN
  • Per URI "http": Meccanismo di upgrade HTTP
  • Conoscenza preventiva (Prior Knowledge): HTTP/2 diretto senza negoziazione

3.1 Identificazione della versione HTTP/2

HTTP/2 utilizza l'identificatore di protocollo (Protocol Identifier) "h2" per TLS e "h2c" per TCP in chiaro.

3.2 Avvio di HTTP/2 per URI "http"

I client utilizzano il meccanismo di upgrade HTTP (HTTP Upgrade Mechanism) con il token "h2c" e il campo di intestazione HTTP2-Settings.

3.3 Avvio di HTTP/2 per URI "https"

I client utilizzano TLS con l'estensione Application-Layer Protocol Negotiation (ALPN).

3.4 Avvio di HTTP/2 con conoscenza preventiva

I client possono (MAY) inviare direttamente frame HTTP/2 se esiste una conoscenza preventiva del supporto del server.

3.5 Prefazione della connessione HTTP/2

Sia il client che il server devono (MUST) inviare una prefazione di connessione (Connection Preface) quando stabiliscono una connessione HTTP/2.

Prefazione client: PRI * HTTP/2.0\r\n\r\nSM\r\n\r\n seguito da un frame SETTINGS.

Prefazione server: Un frame SETTINGS.