Zum Hauptinhalt springen

3. HTTP/2 starten (Starting HTTP/2)

HTTP/2-Verbindungen werden über mehrere Mechanismen hergestellt:

  • Für "https"-URIs: TLS mit ALPN-Erweiterung
  • Für "http"-URIs: HTTP-Upgrade-Mechanismus
  • Vorwissen (Prior Knowledge): Direktes HTTP/2 ohne Verhandlung

3.1 HTTP/2-Versionsidentifikation (HTTP/2 Version Identification)

HTTP/2 verwendet die Protokollkennung (Protocol Identifier) "h2" für TLS und "h2c" für Klartext-TCP.

3.2 HTTP/2 für "http"-URIs starten (Starting HTTP/2 for "http" URIs)

Clients verwenden den HTTP-Upgrade-Mechanismus (HTTP Upgrade Mechanism) mit dem "h2c"-Token und dem HTTP2-Settings-Header-Feld.

3.3 HTTP/2 für "https"-URIs starten (Starting HTTP/2 for "https" URIs)

Clients verwenden TLS mit der Application-Layer Protocol Negotiation (ALPN)-Erweiterung.

3.4 HTTP/2 mit Vorwissen starten (Starting HTTP/2 with Prior Knowledge)

Clients dürfen (MAY) HTTP/2-Frames direkt senden, wenn Vorwissen über Server-Unterstützung vorhanden ist.

3.5 HTTP/2-Verbindungs-Preface (HTTP/2 Connection Preface)

Sowohl Client als auch Server müssen (MUST) beim Aufbau einer HTTP/2-Verbindung ein Verbindungs-Preface (Connection Preface) senden.

Client-Preface: PRI * HTTP/2.0\r\n\r\nSM\r\n\r\n gefolgt von einem SETTINGS-Frame.

Server-Preface: Ein SETTINGS-Frame.