HTTP/3 devient enfin une norme, il apporte un trafic plus rapide et plus de chiffrement, avec prise en charge des connexions Internet rapides UDP (QUIC) rvles par Google

Plus de trois ans aprs sa premire proposition, la troisime version majeure du protocole de transfert hypertexte, HTTP, a t adopte comme norme par l’IETF (Internet Engineering Task Force).

La smantique HTTP est utilise pour un large ventail de services sur Internet. Ces smantiques ont t le plus souvent utilises avec HTTP/1.1 et HTTP/2. HTTP/1.1 a t utilis sur une varit de couches de transport et de session, tandis que HTTP/2 a t utilis principalement avec TLS sur TCP. HTTP/3 supporte la mme smantique sur un nouveau protocole de transport : QUIC.

1654980754 698 HTTP3 devient enfin une norme il apporte un trafic plus

Comme souvent, l’adoption de HTTP/3 a devanc le processus officiel de normalisation. Bien qu’il n’ait t publi que cette semaine en tant que RFC 9114, HTTP/3 est dj utilis, ayant t progressivement mis en uvre dans les principaux navigateurs depuis dcembre 2019 (Apple Safari prend en charge le protocole, mais il est actuellement dsactiv par dfaut.)

Le principal changement apport par HTTP/3 est sa prise en charge des connexions Internet rapides UDP (QUIC), que Google a rvle pour la premire fois en 2013. Le protocole de transport QUIC possde plusieurs caractristiques souhaitables dans un transport pour HTTP, telles que le multiplexage de flux, le contrle de flux par flux et l’tablissement de connexions faible latence.

Comme l’explique la RFC 9114 : Le protocole de transport QUIC possde plusieurs caractristiques qui sont souhaitables dans un transport pour HTTP, comme le multiplexage de flux, le contrle de flux par flux et l’tablissement de connexions faible latence.

En plaant le trafic web sur UDP au lieu du protocole de contrle du transport (TCP), QUIC rduit la manipulation ncessaire pour tablir une connexion, une caractristique particulirement importante sur les rseaux mobiles. QUIC suit galement la pratique de longue date de l’IETF selon laquelle les nouvelles normes doivent chiffrer le trafic des utilisateurs autant que possible, un objectif de l’organisme depuis sa dclaration de 2014 selon laquelle la surveillance omniprsente est une attaque .

Versions antrieures de HTTP

HTTP/1.1 utilise des champs de texte dlimits par des espaces blancs pour transmettre les messages HTTP. Bien que ces changes soient lisibles par l’homme, l’utilisation d’espaces blancs pour le formatage des messages entrane une complexit d’analyse et une tolrance excessive des variantes de comportement.

Comme HTTP/1.1 n’inclut pas de couche de multiplexage, plusieurs connexions TCP sont souvent utilises pour traiter les demandes en parallle. Cependant, cela a un impact ngatif sur le contrle de la congestion et l’efficacit du rseau, puisque TCP ne partage pas le contrle de la congestion entre plusieurs connexions.

1654980755 996 HTTP3 devient enfin une norme il apporte un trafic plus

HTTP/2 a introduit une couche de structuration et de multiplexage binaire pour amliorer la latence sans modifier la couche transport. Toutefois, comme la nature parallle du multiplexage de HTTP/2 n’est pas visible pour les mcanismes de rcupration des pertes de TCP, un paquet perdu ou rordonn entrane un blocage de toutes les transactions actives, que la transaction ait t ou non directement touche par le paquet perdu.

Dlgation QUIC

Le protocole de transport QUIC intgre le multiplexage de flux et le contrle de flux par flux, similaire celui fourni par la couche de trame HTTP/2. En assurant la fiabilit au niveau du flux et le contrle de la congestion sur l’ensemble de la connexion, QUIC a la capacit d’amliorer les performances de HTTP par rapport un mappage TCP. QUIC intgre galement TLS 1.3 ([TLS]) au niveau de la couche transport, offrant une confidentialit et une intgrit comparables l’excution de TLS sur TCP, avec la latence d’tablissement de connexion amliore de TCP Fast Open (TFO).

La RFC 9114 dfinit HTTP/3 : un mappage de la smantique HTTP sur le protocole de transport QUIC, en s’inspirant largement de la conception de HTTP/2. HTTP/3 s’appuie sur QUIC pour assurer la protection de la confidentialit et de l’intgrit des donnes, l’authentification des pairs et la livraison fiable, dans l’ordre et par flux. Tout en dlguant les questions de dure de vie des flux et de contrle des flux QUIC, un framework binaire similaire au framework HTTP/2 est utilis sur chaque flux. Certaines caractristiques de HTTP/2 sont subsumes par QUIC, tandis que d’autres caractristiques sont implmentes au sommet de QUIC.

Prsentation du protocole HTTP/3

HTTP/3 fournit un transport pour la smantique HTTP en utilisant le protocole de transport QUIC et une couche d’encadrement interne similaire HTTP/2. Ds qu’un client sait qu’un serveur HTTP/3 existe un certain point d’extrmit, il ouvre une connexion QUIC. QUIC assure la ngociation du protocole, le multiplexage bas sur le flux et le contrle du flux.

Au sein de chaque flux, l’unit de base de la communication HTTP/3 est une trame. Chaque type de trame a un objectif diffrent. Par exemple, les trames HEADERS et DATA constituent la base des demandes et des rponses HTTP. Les trames qui s’appliquent l’ensemble de la connexion sont transportes sur un flux de contrle ddi. Le multiplexage des demandes est effectu l’aide de l’abstraction de flux QUIC. Chaque paire demande-rponse consomme un seul flux QUIC. Les flux sont indpendants les uns des autres, de sorte qu’un flux qui est bloqu ou subit une perte de paquets n’empche pas la progression des autres flux.

Server push est un mode d’interaction introduit dans HTTP/2 qui permet un serveur de pousser un change de demande-rponse vers un client en attendant que ce dernier fasse la demande indique. Ce mode permet de compenser l’utilisation du rseau par un gain de latence potentiel. Plusieurs trames HTTP/3 sont utilises pour grer le push serveur, comme PUSH_PROMISE, MAX_PUSH_ID et CANCEL_PUSH.

Comme dans HTTP/2, les champs de demande et de rponse sont compresss pour la transmission. Comme HPACK ([HPACK]) repose sur la transmission dans l’ordre des sections de champs compresss (une garantie non fournie par QUIC), HTTP/3 remplace HPACK par QPACK. QPACK utilise des flux unidirectionnels distincts pour modifier et suivre l’tat de la table de champs, tandis que les sections de champs codes font rfrence l’tat de la table sans la modifier.

Configuration et gestion des connexions

Dcouverte d’un point d’extrmit HTTP/3

Le protocole HTTP repose sur la notion de rponse faisant autorit : une rponse qui a t dtermine comme tant la rponse la plus approprie pour cette requte, compte tenu de l’tat de la ressource cible au moment de l’mission du message de rponse par (ou la demande de) le serveur d’origine identifi dans l’URI cible.

Le schma https associe l’autorit la possession d’un certificat que le client considre comme digne de confiance pour l’hte identifi par le composant d’autorit de l’URI. la rception d’un certificat de serveur dans la poigne de main TLS, le client doit vrifier que le certificat est une correspondance acceptable pour le serveur d’origine de l’URI. Si le certificat ne peut pas tre vrifi en ce qui concerne le serveur d’origine de l’URI, le client ne doit pas considrer que le serveur fait autorit pour cette origine.

Un client peut tenter d’accder une ressource avec un URI https en rsolvant l’identificateur d’hte en une adresse IP, en tablissant une connexion QUIC cette adresse sur le port indiqu (y compris la validation du certificat du serveur), et en envoyant un message de demande HTTP/3 ciblant l’URI au serveur sur cette connexion scurise. moins qu’un autre mcanisme ne soit utilis pour slectionner HTTP/3, le jeton h3 est utilis dans l’extension ALPN (Application-Layer Protocol Negotiation) pendant ltablissement d’une liaison TLS.

Les problmes de connectivit (par exemple, le blocage d’UDP) peuvent entraner l’chec de l’tablissement d’une connexion QUIC ; dans ce cas, les clients devraient essayer d’utiliser des versions de HTTP bases sur TCP. Les serveurs peuvent servir HTTP/3 sur n’importe quel port UDP ; une annonce de service alternatif inclut toujours un port explicite, et les URI contiennent soit un port explicite, soit un port par dfaut associ au schma.

tablissement de la connexion

HTTP/3 s’appuie sur la version 1 de QUIC comme transport sous-jacent. La version 1 QUIC utilise TLS version 1.3 ou suprieure comme protocole dtablissement d’une liaison. Les clients HTTP/3 DOIVENT prendre en charge un mcanisme permettant d’indiquer l’hte cible au serveur pendant la poigne de main TLS. Si le serveur est identifi par un nom de domaine ([DNS-TERMS]), les clients DOIVENT envoyer l’extension TLS SNI (Server Name Indication ; [RFC6066]), sauf si un autre mcanisme est utilis pour indiquer l’hte cible.

Les connexions QUIC sont tablies comme dcrit dans [QUIC-TRANSPORT]. Pendant l’tablissement de la connexion, la prise en charge de HTTP/3 est indique par la slection du jeton ALPN “h3” dans la poigne de main TLS. La prise en charge d’autres protocoles de la couche application PEUT tre propose dans la mme liaison.

Alors que les options de niveau connexion relatives au protocole QUIC de base sont dfinies dans la poigne de main cryptographique initiale, les paramtres spcifiques HTTP/3 sont transmis dans la trame SETTINGS. Aprs l’tablissement de la connexion QUIC, une trame SETTINGS DOIT tre envoye par chaque point d’extrmit comme trame initiale de leur flux de contrle HTTP respectif.

Rutilisation des connexions

Les connexions HTTP/3 sont persistantes sur plusieurs requtes. Pour des performances optimales, il est prvu que les clients ne ferment les connexions que lorsqu’il est dtermin qu’aucune autre communication avec un serveur n’est ncessaire (par exemple, lorsqu’un utilisateur quitte une page Web particulire) ou lorsque le serveur ferme la connexion.

Une fois qu’une connexion un point d’extrmit du serveur existe, cette connexion peut tre rutilise pour des demandes comportant plusieurs composants d’autorit URI diffrents. Pour utiliser une connexion existante pour une nouvelle origine, les clients doivent valider le certificat prsent par le serveur pour le nouveau serveur d’origine. Cela implique que les clients devront conserver le certificat du serveur et toute information supplmentaire ncessaire pour vrifier ce certificat ; les clients qui ne le font pas ne pourront pas rutiliser la connexion pour d’autres origines.

Si le certificat n’est pas acceptable en ce qui concerne la nouvelle origine pour une raison quelconque, la connexion ne doit pas tre rutilise et une nouvelle connexion doit tre tablie pour la nouvelle origine. Si la raison pour laquelle le certificat ne peut tre vrifi peut s’appliquer d’autres origines dj associes la connexion, le client devrait revalider le certificat du serveur pour ces origines. Par exemple, si la validation d’un certificat choue parce que le certificat a expir ou a t rvoqu, cela peut tre utilis pour invalider toutes les autres origines pour lesquelles ce certificat a t utilis pour tablir l’autorit.

Les clients ne doivent pas ouvrir plus d’une connexion HTTP/3 vers une adresse IP et un port UDP donns, l’adresse IP et le port pouvant tre drivs d’un URI, d’un service alternatif slectionn ([ALTSVC]), d’un proxy configur ou de la rsolution de nom de l’un de ces lments. Un client peut ouvrir plusieurs connexions HTTP/3 la mme adresse IP et au mme port UDP en utilisant diffrentes configurations de transport ou TLS, mais DOIT viter de crer plusieurs connexions avec la mme configuration.

Les administrateurs systmes sont encourags maintenir les connexions HTTP/3 ouvertes aussi longtemps que possible, mais sont autoriss mettre fin aux connexions inactives si ncessaire. Lorsque l’un des points d’extrmit choisit de fermer la connexion HTTP/3, le point d’extrmit qui y met fin DEVRAIT d’abord envoyer une trame GOAWAY afin que les deux points d’extrmit puissent dterminer de manire fiable si les trames prcdemment envoyes ont t traites et achever ou terminer gracieusement toute tche restante ncessaire.

Source : RFC Editor

Et vous ?

1652150721 550 Emploi informatique 2021 les langages de programmation les plus Que pensez-vous du protocole http/3 ?

1652150721 550 Emploi informatique 2021 les langages de programmation les plus Quel commentaire faites-vous de l’adoption de ce protocole par l’IETF comme norme ?

1652150721 550 Emploi informatique 2021 les langages de programmation les plus votre avis, tait-ce ncessaire d’adopter une nouvelle norme ?

Voir aussi :

1652150721 550 Emploi informatique 2021 les langages de programmation les plus Vous avez entendu parler de HTTPS. Dcouvrez maintenant HTTPA : des services Web dans des environnements de confiance, avec Intel SGX, un outil qui fournit le chiffrement en mmoire

1652150721 550 Emploi informatique 2021 les langages de programmation les plus Les dispositifs IoT grand public apparaissent sur les rseaux d’entreprises, ce qui pourrait conduire de graves incidents de cyberscurit, selon Palo Alto Networks

1652150721 550 Emploi informatique 2021 les langages de programmation les plus Internet : quels sont les inconvnients de l’utilisation de HTTPS ? Une tude dcle cinq faiblesses du protocole

1652150721 550 Emploi informatique 2021 les langages de programmation les plus L’interception HTTPS du Kazakhstan cible dj des domaines comme ceux de Facebook, Twitter et Google, soulevant des craintes chez les chercheurs

We would love to say thanks to the author of this write-up for this amazing web content

HTTP/3 devient enfin une norme, il apporte un trafic plus rapide et plus de chiffrement, avec prise en charge des connexions Internet rapides UDP (QUIC) rvles par Google

Our social media profiles here as well as other pages related to them here.https://yaroos.com/related-pages/