Résumé

  • En novembre 2012, le premier brouillon HTTP/2 portait le titre « SPDY Protocol » et se présentait comme un point de départ provisoire soumis aux décisions du groupe.
  • En février 2015, l’IETF avait approuvé HTTP/2 et HPACK après des changements substantiels. Chrome annonçait la fin prévue de SPDY et de NPN au profit de HTTP/2 et d’ALPN.

Le prototype entre avec son nom sur la couverture

Le premier brouillon du groupe HTTPBIS, daté de novembre 2012, s’appelait SPDY Protocol. Il décrivait plusieurs flux simultanés, avec priorités et compression, puis une couche de sens proche de HTTP pour les applications existantes. Sa note éditoriale le présentait comme le point de départ des travaux, encore appelé à changer. Google avait produit un protocole utilisable. L’IETF allait décider de la version commune.

Le bilan publié par l’IETF en février 2015 décrit six réunions intermédiaires et des essais entre versions du texte. Ses auteurs comptaient plus de 200 questions de conception, 17 brouillons et 30 implémentations. Ces chiffres décrivent le travail de normalisation ; mesurer l’adoption par les sites exigerait d’autres données. Le format, la compression et le lien avec la sémantique HTTP avaient fortement évolué avant l’approbation de HTTP/2 et HPACK.

La compression présente sa facture

Le RFC 7541 explique que SPDY comprimait les en-têtes avec DEFLATE et que l’attaque CRIME avait révélé un risque de sécurité. HPACK fut défini avec une mémoire bornée et une exposition réduite aux attaques connues. Le RFC 7540, publié en mai 2015, fixe notamment l’identifiant h2 négocié par ALPN sous TLS. Les flux multiples ont survécu ; le contrat transmis sur le réseau a été refait.

Dans son annonce de février 2015, Chrome promettait la prise en charge de HTTP/2 puis le retrait de SPDY et de NPN. Une mise à jour du billet nomme Chrome 51. Un registre de sortie daté de cette version fixerait la date effective du retrait. Le premier protocole avait obtenu une place à la table ; la table a écrit une autre règle.

Sources