Zum Hauptinhalt springen

3. Der Parameter SETTINGS_ENABLE_CONNECT_PROTOCOL (The SETTINGS_ENABLE_CONNECT_PROTOCOL SETTINGS Parameter)

Dieses Dokument fügt einen neuen SETTINGS-Parameter zu den in [RFC7540], Abschnitt 6.5.2 definierten hinzu.

Der Name des neuen Parameters ist SETTINGS_ENABLE_CONNECT_PROTOCOL. Der Wert des Parameters MUSS 0 oder 1 sein.

Nach Erhalt von SETTINGS_ENABLE_CONNECT_PROTOCOL mit einem Wert von 1 KANN ein Client das erweiterte CONNECT, wie in diesem Dokument definiert, verwenden, wenn er neue Streams erstellt. Der Empfang dieses Parameters durch einen Server hat keine Auswirkungen.

Ein Absender DARF KEINEN SETTINGS_ENABLE_CONNECT_PROTOCOL-Parameter mit dem Wert 0 senden, nachdem er zuvor einen Wert von 1 gesendet hat.

Die Verwendung eines SETTINGS-Parameters, um sich für eine ansonsten inkompatible Protokolländerung zu entscheiden, ist eine Verwendung von "Extending HTTP/2", definiert in Abschnitt 5.5 von [RFC7540]. Insbesondere erfordern das Hinzufügen eines neuen Pseudo-Header-Feldes, ":protocol", und die Änderung der Bedeutung des :authority Pseudo-Header-Feldes in Abschnitt 4 eine Opt-in-Verhandlung. Wenn ein Client die Bestimmungen der in diesem Dokument definierten erweiterten CONNECT-Methode verwenden würde, ohne zuerst einen SETTINGS_ENABLE_CONNECT_PROTOCOL-Parameter zu erhalten, würde ein nicht unterstützender Peer eine fehlerhafte Anforderung erkennen und einen Stream-Fehler generieren (Abschnitt 8.1.2.6 von [RFC7540]).