Aller au contenu principal

4. La méthode CONNECT étendue (The Extended CONNECT Method)

[RFC6455] nécessite l'utilisation des champs d'en-tête Connection et Upgrade qui ne font pas partie de HTTP/2. Ils NE DOIVENT PAS être inclus dans la demande CONNECT définie ici. [RFC6455] nécessite l'utilisation d'un champ d'en-tête Host qui ne fait pas non plus partie de HTTP/2. Les informations d'hôte sont transmises dans le cadre du champ de pseudo-en-tête :authority, qui est requis pour chaque transaction HTTP/2. Les implémentations utilisant ce CONNECT étendu pour amorcer des WebSockets n'effectuent pas le traitement des champs d'en-tête Sec-WebSocket-Key et Sec-WebSocket-Accept de [RFC6455] car cette fonctionnalité a été remplacée par le champ de pseudo-en-tête :protocol.

Le champ de pseudo-en-tête :protocol DOIT être inclus dans la demande CONNECT, et il DOIT avoir une valeur de "websocket" (la chaîne "websocket", pas la valeur du champ d'en-tête Sec-WebSocket-Protocol). Le champ de pseudo-en-tête :scheme DOIT être inclus dans la demande CONNECT et DOIT avoir une valeur de "http" ou "https".

Sur les demandes portant le champ de pseudo-en-tête :protocol, le champ de pseudo-en-tête :authority est interprété selon la section 8.1.2.3 de [RFC7540] au lieu de la section 8.3 de ce document.