SPDY, état des lieux de son implémentation

29 novembre 2011

SPDY, le protocole crée par Google pour palier aux problèmes de performance de HTTP, était jusque là expérimental. Il faut dire que seul son navigateur, Chrome, permettait son utilisation. Mais prochainement, Firefox implémentera à son tour le support de SPDY.

Il est temps d’arrêter de le voir comme une simple expérimentation !

Brèves considérations techniques

En partant des défauts de HTTP/1.x, SPDY offre plusieurs axes d’améliorations. Le but de ce billet n’est pas de les détailler, mais rappelons qu’il n’utilise qu’une seule connexion pour faire transiter toutes les ressources, qu’il compresse les entêtes et utilise SSL par défaut.

Je reviendrai peut-être dans un autre billet sur les optimisations qu’il propose. Voyons plutôt les softs qui implémentent ce protocole.

SPDY dans les navigateurs

Chrome 6+

Comme vous vous en doutez, Chrome a été le premier client à être doté d’une compatbilité SPDY.

Concrètement, vous pouvez suivre les connexions à un serveur SPDY en faisant pointer le navigateur sur chrome://net-internals/#spdy.

Firefox 11(?)+

Tout est parti d’un patch expérimental pour ajouter le support de SPDY à Firefox. L’intégration de ce patch dans le trunk de Firefox vise la version 11 (actuellement en nightly, sortie finale prévue pour mi-mars 2012).

Avec l’alignement du développement de Firefox mobile sur la version bureau, ce sera donc, à ma connaissance, le premier navigateur mobile doté d’une compatibilité à SPDY ! Le support de SPDY sur Android est en cours d’implémentation.

Amazon Fire tablet

Bon, le Amazon Kindle Fire Tablet est un cas un peu particulier. Son navigateur, Silk browser, a un pied sur le serveur. Ce dernier optimise les sites qu’il envoie à la tablette. L’utilisation conjointe du client et du serveur sont donc indissociables.

Amazon a annoncé que le serveur pouvait utiliser SPDY dans certains cas.

Parts de marché

Actuellement, les parts de marché cumulées de Firefox et Chrome tournent aux alentours de 40~50%. Cela signifie qu’en mars prochain, à la sortie de Firefox 11, le recours à SPDY permettra d’apporter des améliorations de performance à près de la moitié des internautes ! N’attendons pas pour considérer SPDY comme une alternative viable à l’HTTP.

C’est bien beau d’utiliser des logiciels compatibles SPDY, mais encore faut-il que les serveurs Web soient également équipés.

Les serveurs équipés de SPDY

Le gros défaut de SPDY actuel, c’est la faiblesse de son déploiement en terme de serveurs.

Voici une liste des serveurs et services permettant déjà de communiquer avec des clients via SPDY.

Les services de Google

Parmi ses utilisations, on trouve, bien entendu les sites web sécurisés de Google (Gmail, Calendar, Documents…). Google Analytics et son beacon l’utilisent aussi. Imaginons que votre site contenant le tracker Analytics est accessible en HTTPS. Dans ce cas, toutes les requêtes allant du navigateur du visiteur aux serveurs de Google peuvent utiliser SPDY :

Le beacon de Google Analytics servi par SPDY

La ligne en jaune montre le beacon de Google Analytics servi par SPDY pour une page en HTTPS, vu par Chrome dans chrome://net-internals/.

Des offres commerciales d’optimisation

Strangeloop et Cotendo ont développé chacun de leurs cotés un optimisateur de sites. Parmi les améliorations proposées, ces proxy transforment les requêtes HTTP du serveur en SPDY pour le client.

Serveurs Apache équipés de mod_pagespeed

J’ai trouvé plusieurs fois la mention d’une intégration de SPDY dans mod_pagespeed, le module Apache de Google pour optimiser automatiquement les sites web. Cependant, je n’ai pas pu vérifier ça dans le code source du projet.

Plusieurs offres d’hébergement proposent mod_pagespeed facilement activable (ex : Go Daddy). Si (Quand ?) ce mod Apache supportera SPDY, de nombreux sites bénéficieront de SPDY.

Vous connaissez d’autres sites qui utilisent SPDY ? Utilisez les commentaires ci-dessous pour les partager.

Ressources

Pour ceux qui sont le plus avides d’infos sur SPDY, voici quelques ressources :

One Comments
Laisser un commentaire