[MàJ] Le protocole HTTP/2 a désormais son document RFC
Direction le RFC Editor
Le 15 mai 2015 à 15h00
3 min
Internet
Internet
Le futur standard HTTP/2 est désormais finalisé. L’annonce vient d’en être faite ce matin par le président du HTTP Working Group au sein de l’IETF, Mark Nottingham. Prochaine étape désormais, la publication sous la forme d’un standard via un document RFC.
HTTP n’a pas bénéficié de révision majeure depuis 1999, quand la version 1.1 a été publiée. Au rythme où les technologies du web progressent, un successeur était très attendu et les problématiques très nombreuses. Comme on le sait, le futur HTTP/2 est bâti sur les fondations de la technologie SPDY, et en dépit de quelques critiques, le travail réalisé a fait consensus.
Depuis ce matin, on sait que le futur standard est finalisé, ce qui se traduit par une liste précise de caractéristiques. Dans sa forme actuelle, le protocole est donc largement basé sur SPDY, tout en gommant certains de ses défauts et en ajoutant d’autres capacités. HTTP/2 a pour objectif majeur d’accélérer le chargement des pages web et de sécuriser davantage les connexions, deux problématiques qui deviennent d’autant plus importantes que les ressources web sont très largement utilisées.
Du côté des performances, la caractéristique principale du protocole est le multiplexage des requêtes, autrement dit l’envoi par lots. Le serveur les reçoit donc toutes en même temps et peut procéder à l’envoi simultané des données, contrairement à la situation actuelle où de nombreux éléments doivent attendre que d’autres soient chargés. Les connexions « live » avec les serveurs pourront en outre être maintenues plus longtemps et le chiffrement sera une part importante des nouveautés.
Avec HTTP/2 viennent donc les promesses de connexions plus rapides et mieux sécurisées, mais il faudra encore attendre. Comme indiqué par Mark Nottingham de l'Internet Engineering Task Force ce matin, le protocole est maintenant en route vers le RFC Editor et ses différents documents devraient donc recevoir des numéros officiels d’attribution très prochainement.
Précisons que même si HTTP/2 n’est pas encore à proprement parler un standard, son inclusion est actuellement en travaux dans la plupart des navigateurs. C‘est le cas notamment chez Google avec Chrome 40, la firme ayant récemment annoncé que SPDY serait abandonné dans les prochaines semaines, son existence n’ayant plus lieu d’être.
Commentaires (52)
Vous devez être abonné pour pouvoir commenter.
Déjà abonné ? Se connecter
Abonnez-vousLe 18/02/2015 à 10h04
Coté serveur ça se passe comment ?
Le 18/02/2015 à 10h06
Il faudra attendre que les serveurs web le supportent ;)
Le 18/02/2015 à 10h16
Il y a d’ailleurs une extension sur Firefox qui permet de savoir si un site (ou des ressources externes de celui-ci) utilise SPDY ou HTTP/2.0.
Le 18/02/2015 à 10h16
Microsoft a officiellement annoncé son support aux Techdays (avec project spartan).
Le 18/02/2015 à 10h25
Tiens, ça sera l’occasion de rajouter des codes de réponses adaptés au chats dans un RFC du 1er avril " />
Le 18/02/2015 à 10h38
C’est bien de corriger les problèmes. Dommage que ca se termine toujours par faire du “en plus” au lieu de “en mieux”.
Davantage de complexité dans le protocole => Davantage de failles potentielle dans les implémentations.
Sans compter les problème d’interopérabilité au début (Chrome vs Apache, Firefox vs IIS, …).
Enfin bon, il reste du temps avant la généralisation de HTTP/2 over IPv6. " />
Le 18/02/2015 à 10h49
Très intéressante cette actu … " />
>contrairement à la situation actuelle où de nombreux
>éléments doivent attendre que d’autres soient chargés.
Ca me fait penser aux régies publicitaires qui lorsqu’elles ne sont pas accessibles font ramer toute la page web.
Heureusement, on a optimisé notre site web et nous n’avons plus le problème à présent !
Le 18/02/2015 à 10h51
Le 18/02/2015 à 10h56
Le 18/02/2015 à 11h11
Le 18/02/2015 à 11h12
Le 18/02/2015 à 11h20
Oui, j’ai bien vu que le problème a été corrigé sans avoir eu besoin de HTTP/2.
Mon point c’est de préciser que HTTP/2 n’aurait de toutes façons pas réglé vraiment ce problème particulier.
Le 18/02/2015 à 11h30
Le 18/02/2015 à 12h07
Tu dois bien pourvoir les fusionner et minifier, non ?
Le 18/02/2015 à 12h22
Le 18/02/2015 à 12h25
Cela ralentit la page puisque il faut faire 10 requêtes au lieu de 2 (un JS, un CSS).
Le 18/02/2015 à 12h27
ça se passe comment quand il y a un proxy ?
Le 18/02/2015 à 12h53
Le 18/02/2015 à 12h56
Le proxy devra savoir décompresser et lire les Headers HTTP/2. Sinon, pas de changement dans le principe: le proxy redirige les requêtes/réponses entre le client et le serveur, en servant d’intermédiaire.
Le 18/02/2015 à 12h57
Le 18/02/2015 à 13h01
Le 18/02/2015 à 13h13
Le 18/02/2015 à 13h34
Le 18/02/2015 à 13h35
Ce n’est pas un problème WordPressien comme tu aimes le dire, c’est une problématique générale au front-end.
Et justement HTTP/2 règlera ce problème, en un seul stream tu pourra charger 100 fichiers d’un seul trait… Enfin si j’ai bien compris.
Le 18/02/2015 à 13h42
Le 18/02/2015 à 13h50
Le 18/02/2015 à 14h24
En gros, il faudrait qu’à la publication, le generateur aille lire tous les js des modules actifs et recopie leur contenu dans un seul js à mettre en prod (les noms de fonctions sont préfixés du nom de module donc pas de conflit à l’horizon)
Le 18/02/2015 à 14h31
En 3G ou 4G, le ping est à désiré. Il peut y avoir une latence jusqu’à 200ms avant de commencer le chargement d’un fichier à proprement dit, pour résoudre le DNS, initialiser la nouvelle connection, etc.
Depuis ce type de connection, un site pas spcécialement bien foutu, ça peut dépasser très facilement 6secondes de temps de chargement en plus sur un wordpress pas forcément bien foutu. Ce n’est plus bénin.
Par ailleurs, (comme dis plus haut) sur un site héberger sur un dédié sans CDN, un visiteur venant d’un pays éloigné, aura aussi ping relativement haut. Même problème que suscité.
Le 18/02/2015 à 14h36
Le 18/02/2015 à 14h37
Le 18/02/2015 à 14h49
Le 18/02/2015 à 14h56
Le 18/02/2015 à 15h12
Au final, si je vous comprends bien, il vaut mieux mettre son JS et son CSS dans le HTML directement ?
Le 18/02/2015 à 15h17
Le 18/02/2015 à 15h24
Le 18/02/2015 à 15h29
La compression des données fait pas gagner beaucoup déjà ?
Le 18/02/2015 à 15h54
Le 18/02/2015 à 16h02
Tu parles de compression GZip par exemple ?
Sur les fichiers css/javascript, la minification et la compression sont complémentaire. La minification réduit la taille du “de base” avant la compression. Bien sur, le pourcentage de compression est moins impressionnant, mais le résultat obtenu est bien plus léger.
Par ailleurs, réduire le nombre de fichier réduit le nombre d’information pas forcément utile, en évitant de multiplier le nombre de header de fichier. Supprimer ce genre de donnée sera toujours plus efficace que de les compresser =).
Le 18/02/2015 à 16h11
Le 18/02/2015 à 17h24
Tu dois acheter un certificat SSL, configurer ton frontal pour faire du https et activer le module/option HTTP2 (s’il est disponible ;) ) sur ton frontal
Le frontal continuera a travailler en HTTP 1 / 1.1 avec les serveurs en interne
facile… a dire… avec plein d’emmerde potentiel. Ex: Spdy ne supportait pas les redirections lors de l’initialisation de la connexion j’espère que cela a été corrigé.
Le 18/02/2015 à 17h41
Le 18/02/2015 à 18h20
Le 18/02/2015 à 19h54
Le 18/02/2015 à 20h21
Le 18/02/2015 à 21h11
comment savoir si l’on utilise http 1.1 ou http 2 sur son navigateur ???
Le 18/02/2015 à 21h42
Le 19/02/2015 à 03h07
https://kirou.wordpress.com/2014/06/09/why-we-should-stop-using-jquery/
http://samsaffron.com/archive/2012/02/17/stop-paying-your-jquery-tax
http://www.raymondcamden.com/2012/10/23/Stop-using-jQuery-all-the-time
http://modernweb.com/2013/05/06/5-things-you-should-stop-doing-with-jquery/
http://www.sitepoint.com/do-you-really-need-jquery/
http://blog.garstasio.com/you-dont-need-jquery/why-not/
Pour faire cour deux raisons reviennent souvent :
Le 19/02/2015 à 10h23
Mouais, chacun ses choix. Si tu estimes que le poids de jquery est trop important pour ce que tu en fait, ne l’utilise pas. Mais c’est outrepasser que d’affirmer que je dois m’en passer …
Aucun des 6 liens ne donne de réelle raison de se passer de jquery (oui c’est juste du link bait) ils expliquent tous que jquery c’est trop cool et que ca rend d’énormes services. Après ils font le breakdown des temps de chargements en expliquant qu’il y a telle ou telle façon de “bien” utiliser jquery sur son site. Ils disent surtout que c’est un mauvais rapport d’utiliser jquery dans un POC de 1Ko, et là c’est sûr je suis d’accord avec eux. Mais pour un projet web complet, l’inconvénient disparait dans la masse et le service rendu est réel.
(Juste un exemple idiot : on charge des images plus grosses que jquery dans n’importe quel composant de galerie, il faut interdire les galeries d’image aussi, à cause de leur taille qui ralentit l’affichage de tes magnifiques pages codées avec amour ?)
Les syntaxes de remplacement proposées ne sont pas compatibles avec tous les navigateurs.
Comment convaincre que
var myElement = Document.getElementByID(“mon_id”);
c’est mieux que
$(“#mon_id”);
? Vraiment je ne vois pas.
Quant à l’argument que c’est un framework donc faut pas s’en servir, c’est juste idiot. Le mec qui dit ca, il boycott aussi le PHP ? le .Net ? Il code directement en binaire en induisant des impulsions électromagnétique au disque dur avec une aiguille magnétisée ?
Entre utiliser des “outils” comme tu dis pour tout et n’importe quoi genre copier une string et dire ensuite que jquery c’est trop hardcore ca t’empêche de faire le code toi-même, ca ne tient pas debout. Du javascript, j’en ai assez bouffé pour zapper toutes les syntaxes chiantes en un appel de fonction.
J’aime jquery parce qu’il me fournit des briques élémentaires rapidement, je ne me sert pas de 99% de ce qu’il propose mais les sélecteurs et les fonctions associées ca change vraiment la taille des fichiers. write less, do more, je le constate dans mes sources.
Enfin, pour la 5e fois, je ne produit pas une solution pro avec des grosses perfs turgescentes. Je fais un bac à sable versatile et évolutif pour moi-même, comme un passe-temps. Donc je n’ai pas besoin d’une librairie externe qui ne fait qu’optimiser des perfs sur des détails pointus, j’ai besoin d’une boite à outils polyvalente pour créer du gros œuvre from scratch.
Et puis même, c’est un état d’esprit général, toi tu codes uniquement des killer-app en cousant des morceaux de code récupérés sur le web ? Tu ne fais jamais de POC ou de projet perso où tu reprend tout depuis les bases pour voir ce que tu peux produire par toi-même ? Si tu as bien intégré un concept, voire juste pour le plaisir de le faire.
Le 15/05/2015 à 15h15
Yeah !
Le 16/05/2015 à 09h12
Qu’est-ce que tu veux dire par “une page = un fichier” ?
Le 16/05/2015 à 09h15
SI tu utilise jQuery uniquement pour les sélecteurs, l’intérêt est nul, et beaucoup de gens se méprennent la dessus.
Le 16/05/2015 à 11h36
en gros tu fais plus appel à des fichiers de scripts externe. les fonctions utiles sont inscrite dans le fichier. ça limite les requêtes consécutives (qui ne sont plus un problème avec cette norme) mais oblige à augmenter un peu la taille de chaque page.
alors que si plusieurs pages utilisent le même script, le navigateur reprendra la version en cache sans avoir à la re-télécharger. 2 écoles.