SPDY ne sont pas les acronymes de rien, mais un jeu de mots de vitesse: speedy . Vous souvenez-vous de la souris Speedy Gonzales ? SPDY considère qu'il accélère considérablement les transferts de pages, documents et autres fichiers sur le web. Selon les tests de laboratoire effectués par Google, les performances peuvent être améliorées jusqu'à 64%. Et dans les premiers tests mobiles, ils disent avoir réussi à charger les pages 23% plus vite. Mais comment cette amélioration est-elle obtenue ?
Pour comprendre comment accélérer il est nécessaire de connaître au préalable le fonctionnement du protocole HTTP et du web lui-même. La communication Web, comme tout type de télécommunications de données, est organisée en sept niveaux selon le modèle OSI (Open Systems Interconnection reference model, norme ISO), où un système ou protocole est utilisé à chaque niveau.
Internet est un réseau géant décentralisé composé de millions de réseaux interconnectés. Au niveau le plus fondamental de la communication, c'est-à-dire au niveau physique, on utilise des technologies très différentes pour transmettre les bits (0 et 1) (différentes tensions dans le câble électrique, différentes intensités de lumière dans la fibre optique, ou modulation de fréquences dans les ondes radio, etc. ). Au niveau suivant, au niveau de liaison, les erreurs et les interférences de transmission sont détectées et corrigées à l'aide de bits redondants de contrôle, et la méthode précise utilisée ici dépend du niveau physique. Ses combinaisons complètent les protocoles de communication de base tels que Bluetooth, WiFi, etc., dont beaucoup Internet utilise à différents points du réseau. Mais à des niveaux logiques supérieurs, Internet utilise toujours les mêmes protocoles, fonctionnant en pratique comme un seul réseau.
Le niveau supérieur, niveau réseau, est chargé d'organiser les données en paquets et adresse, en utilisant pour cela le protocole Internet IP ( Internet Protocol ). Le niveau suivant est le niveau de transport qui s'occupe, entre autres, de l'implantation des connexions et de la fiabilité des messages, en utilisant Internet le protocole TCP ( Transmission Control Protocol ) à ce niveau.
Le niveau de session, chargé de l'authentification, etc., et le niveau de présentation, chargé de compresser et/ou de chiffrer les données sont inclus ci-dessous. Cependant, ces deux derniers sur Internet sont mélangés et dépendent du dernier niveau d'application. Des exemples de services d'application sur Internet sont l'email, le web, le service FTP, le chat, etc. Et le protocole utilisé pour le web est HTTP.
Dans le protocole HTTP, un client (par exemple, le navigateur Web de notre ordinateur) établit une connexion avec un serveur (généralement un serveur Web hébergeant des sites Web) et envoie une demande d'une page Web (dans laquelle sont recueillies des informations gratuites comme la page désirée, le système d'exploitation et le navigateur du client ou la langue par défaut). Le serveur répond en retournant la page demandée ou avec un code d'erreur (comme le célèbre 404) et termine la connexion.
Le protocole HTTP est adapté aux caractéristiques du web de l'époque où le web a été créé, c'est-à-dire pour laquelle il ne disposait que de pages statiques. Mais le site actuel est très différent.
Par exemple, aujourd'hui, nous sommes sur un site web, nous pouvons définir nos préférences, qui sont stockées dans les cookies de notre ordinateur; ces paramètres doivent être transférés chaque fois que nous demandons une nouvelle page de ce site, ce qui peut être beaucoup d'informations que nous transmettons inutilement, ralentissant la communication. D'autre part, la nécessité de réinitialiser la connexion chaque fois que nous avons besoin d'une nouvelle page inactive également la navigation. Enfin, lorsque nous sommes sur une page pour voir les mises à jour (par exemple, s'il y a de nouveaux messages lorsque nous regardons le courrier électronique via le web), la seule façon pour le navigateur de demander une certaine fréquence au serveur, il n'est pas possible que le serveur lui-même avertisse le client quand il y a quelque chose de nouveau.
Le protocole SPDY vise à résoudre ces inefficacités HTTP sans remplacer le protocole HTTP lui-même. Il s'agit d'un protocole qui est mis en œuvre dans les niveaux de session et d'application et qui est lancé dans le cas où le client et le serveur ont mis en œuvre, sinon la communication sera effectuée avec HTTP normal.
SPDY utilise une connexion unique au serveur pour toutes les demandes qui lui sont faites, c'est-à-dire lorsque le client doit demander une nouvelle page au même serveur, il n'est pas nécessaire de rétablir la connexion, ce qui accélère la vitesse. De plus, grâce à cette connexion, le serveur peut également envoyer des informations au client sans qu'il le demande, permettant aux mises à jour des pages d'être effectuées au moment et si nécessaire. D'autre part, le serveur enregistre l'empreinte de l'information que le client a envoyée sur les demandes précédentes (système d'exploitation, navigateur, préférences, langue…) et il n'est pas nécessaire que tout soit envoyé périodiquement, seulement le différent ou nouveau est envoyé et il est comprimé. Enfin, le cryptage et la compression sont utilisés à tout moment.
Google a créé le protocole SPDY en 2009. En 2011, il a mis en œuvre Chrome dans son navigateur et sa recherche et services Gmail. Ainsi, en accédant à ces services depuis ce navigateur, l'utilisateur bénéficiait des avantages de SPDY. Après Google a ouvert le code de son implémentation et depuis lors, ils ont également mis en œuvre dans les navigateurs Firefox et Opera, qui sont plus en cours.
Quant au logiciel serveur, les dernières versions des serveurs web Apache (le serveur web le plus utilisé au monde), Nginx et Jetty ont déjà le protocole SPDY. Twitter et WordPress proposent également un support SPDY et Facebook annonce son intention de le mettre bientôt.
Il semble que SPDY a une grande diffusion. Et il semble que ce sera encore plus grand, puisque la prochaine version du protocole HTTP 2.0 qui est en cours de travail aura comme base SPDY. Par conséquent, tout le site sera bientôt plus rapide grâce à SPDY. Aidez-le, aidez-le! Haut, haut! Epa! Yebigw !