Passa al contenuto principale

6. Design Considerations (Considerazioni sulla progettazione)

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]).

L'utilizzo di un parametro SETTINGS per aderire a una modifica del protocollo altrimenti incompatibile è un uso di "Estensione di HTTP/2" definito dalla Sezione 5.5 della [RFC7540]. Nello specifico, l'aggiunta di un nuovo campo pseudo-intestazione, ":protocol", e la modifica del significato del campo pseudo-intestazione :authority nella Sezione 4 richiedono una negoziazione di adesione (opt-in). Se un client dovesse utilizzare le disposizioni del metodo CONNECT esteso definito in questo documento senza aver prima ricevuto un parametro SETTINGS_ENABLE_CONNECT_PROTOCOL, un peer che non lo supporta rileverebbe una richiesta malformata e genererebbe un errore di flusso (Sezione 8.1.2.6 della [RFC7540]).