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.