Zum Hauptinhalt springen

6. Design Considerations (Entwurfsüberlegungen)

Using a SETTINGS parameter to opt into an otherwise incompatible protocol change is a use of "Extending HTTP/2" defined by Section 5.5 of [RFC7540]. Specifically, the addition a new pseudo-header field, ":protocol", and the change in meaning of the :authority pseudo-header field in Section 4 require opt-in negotiation. If a client were to use the provisions of the extended CONNECT method defined in this document without first receiving a SETTINGS_ENABLE_CONNECT_PROTOCOL parameter, a non-supporting peer would detect a malformed request and generate a stream error (Section 8.1.2.6 of [RFC7540]).

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