Le standard HTTP/2 bientôt finalisé

Le président du groupe de travail HTTP de l’IETF (Internet Engineer Task Force), Mark Nottingham, vient d’annoncer que HTTP/2, la nouvelle version du standard HTTP, était prête et que seules quelques petites étapes la séparaient de l’adoption finale en tant que standard.

HTTP, le protocole de transfert hypertexte est à la base du World Wide Web. Il a été créé en 1990 et sa dernière révision, HTTP 1.1, remonte à 1999.

L’inconvénient de la révision actuelle est son coût considérable, avec de très nombreux appels TCP, difficilement parallélisables, pour chaque page Web : leur chargement en est d’autant plus ralenti, et les serveurs sont largement sollicités.

Basé sur une révision du protocole de communication SPDY de Google, HTTP/2 va permettre de multiplexer, de gérer les priorités, et de compresser les flux de communication. Ce n’est plus un protocole textuel, il devient binaire, ce qui le rend plus rapide et moins susceptible aux erreurs. En revanche, il n’est plus utilisable avec telnet.

Les en-têtes du protocole seront comprimés, ce qui devrait considérablement accélérer la latence des pages Web, notamment sur les terminaux mobiles.

Enfin, les serveurs pourront pro activement pousser les mises à jour des pages vers les clients, ce qui va accélérer leur réception. Aujourd’hui, un client reçoit d’abord le contenu HTML, qu’il doit analyser et décomposer avant de recevoir les autres fichiers CSS, JavaScript, images, etc.

Une vulnérabilité (CRIME, Compression Ratio Info-leak Made Easy) ayant été trouvée contre les flux compressés, le groupe de travail a décidé de ne pas utiliser la compression GZIP, et de développer HPACK à la place, s’appuyant sur l’algorithme de compression Huffman.

Idéalement, HTTP/2 remplacerait HTTP 1.1, mais la mise à jour n’étant pas obligatoire, les deux versions cohabiteront sans doute pendant des années.