6. Design Considerations (設計上の考慮事項)
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]).
互換性のないプロトコル変更へのオプトインに SETTINGS パラメータを使用することは、[RFC7540] のセクション 5.5 で定義されている「HTTP/2 の拡張」の使用にあたります。具体的には、新しい疑似ヘッダーフィールド ":protocol" の追加、およびセクション 4 における :authority 疑似ヘッダーフィールドの意味の変更には、オプトインのネゴシエーションが必要です。もしクライアントが、SETTINGS_ENABLE_CONNECT_PROTOCOL パラメータを最初に受け取ることなく、本文書で定義されている拡張 CONNECT メソッドの規定を使用した場合、サポートしていないピアは不正なリクエストを検出し、ストリームエラー ([RFC7540] のセクション 8.1.2.6) を生成します。