SPDY, protocol d'acceleració web

Leturia Azkarate, Igor

Informatikaria eta ikertzailea

Elhuyar Hizkuntza eta Teknologia

Les comunicacions i transferències que es produeixen en la web es realitzen a través del protocol HTTP. No obstant això, aquest protocol es va dissenyar en la creació de la web fa més de 20 anys, mentre que la web ha canviat molt i el protocol HTTP no és eficaç per a les característiques de la web actual. Per això han creat el protocol SPDY, que s'està estenent ràpidament amb l'objectiu d'agilitar la web.
spdy-weba-azkartzeko-protokoloa
7 nivells del model OSI.

SPDY no són les sigles de res, sinó un joc de paraules de velocitat: speedy . Recorda el ratolí Speedy Gonzales? SPDY considera que accelera molt les transferències de pàgines, documents i altres fitxers a la web. Segons les proves de laboratori realitzades per Google, el rendiment pot millorar-se fins a un 64%. I en les primeres proves en mòbils, diuen que han aconseguit carregar les pàgines un 23% més ràpid. Però com s'aconsegueix aquesta millora?

Fonaments de Comunicacions Web

Per a comprendre com s'aconsegueix accelerar és necessari conèixer prèviament el funcionament del protocol HTTP i de la pròpia web. La comunicació en web, igual que qualsevol tipus de telecomunicacions de dades, està organitzada en set nivells segons el model OSI (Open Systems Interconnection reference model, estàndard d'ISO), on s'utilitza un sistema o protocol a cada nivell.

Internet és una xarxa gegant descentralitzada formada per milions de xarxes interconnectades. En el nivell més bàsic de la comunicació, és a dir, a nivell físic, s'utilitzen tecnologies molt diferents per a transmetre els bits (0 i 1) (diferents tensions en el cable elèctric, diferents intensitats de llum en la fibra òptica, o modulació de freqüències en les ones de ràdio, etc.). En el següent nivell, a nivell d'enllaç, es detecten i corregeixen els errors i interferències en la transmissió utilitzant bits redundants de control, i el mètode precís aquí utilitzat depèn del nivell físic. Les seves combinacions complementen els protocols bàsics de comunicació com Bluetooth, Wifi, etc., molts dels quals Internet utilitza en diferents punts de la xarxa. Però en nivells lògics superiors, Internet utilitza sempre els mateixos protocols, funcionant en la pràctica com una sola xarxa.

El nivell superior, nivell de xarxa, s'encarrega d'organitzar les dades en paquets i de l'adreça, utilitzant per a això el protocol IP d'Internet ( Internet Protocol ). El següent nivell és el nivell de transport que s'ocupa, entre altres aspectes, de la implantació de les connexions i de la fiabilitat dels missatges, utilitzant Internet el protocol TCP ( Transmission Control Protocol ) en aquest nivell.

A continuació s'inclou el nivell de sessió, encarregat de l'autenticació, etc., i el nivell de presentació, encarregat de comprimir i/o xifrar les dades. No obstant això, aquests dos últims en Internet estan barrejats i depenen de l'últim nivell d'aplicació. Exemples de serveis d'aplicació en Internet són el correu electrònic, la web, el servei FTP, el xat, etc. I el protocol utilitzat per a la web és HTTP.

En el protocol HTTP, un client (per exemple, el navegador web del nostre ordinador) estableix una connexió amb un servidor (normalment un servidor web que allotja webs) i envia una sol·licitud d'una pàgina web (en la qual es recullen informacions gratuïtes com la pàgina desitjada, el sistema operatiu i navegador del client o l'idioma per defecte). El servidor respon retornant la pàgina sol·licitada o amb un codi d'error (com el famós 404) i finalitza la connexió.

Millores SPDY

Implementació del model OSI en Internet.

El protocol HTTP és adequat per a les característiques de la web de l'època en la qual es va crear la web, és a dir, per a la qual només disposava de pàgines estàtiques. Però la web actual és molt diferent.

Per exemple, avui dia estem en una web, podem establir les nostres preferències, que s'emmagatzemen en les cookies del nostre ordinador; aquests ajustos han de ser reexpedits cada vegada que sol·licitem una nova pàgina d'aquesta web, la qual cosa pot ser una gran quantitat d'informació que estem reexpedint innecessàriament, alentint la comunicació. D'altra banda, la necessitat de restablir la connexió cada vegada que necessitem una nova pàgina també inactiva la navegació. Finalment, quan estem en una pàgina per a veure les actualitzacions (per exemple, si hi ha missatges nous quan estem veient el correu electrònic via web), l'única manera que el navegador pregunti amb certa freqüència al servidor, no és possible que el propi servidor avisi al client quan hi ha una cosa nova.

El protocol SPDY pretén resoldre aquestes ineficiències d'HTTP sense substituir al propi protocol HTTP. Es tracta d'un protocol que s'implementa en els nivells de sessió i aplicació i que es posa en marxa en el cas que el client i el servidor el tinguin implementat, en cas contrari la comunicació es realitzarà amb HTTP normal.

SPDY utilitza una única connexió amb el servidor per a totes les sol·licituds que se li facin, és a dir, quan el client ha de sol·licitar una nova pàgina al mateix servidor no és necessari tornar a establir la connexió, la qual cosa accelera la velocitat. A més, a través d'aquesta connexió, el servidor també pot enviar informació al client sense que aquest el sol·liciti, permetent que les actualitzacions de les pàgines es realitzin en el moment i quan siguin necessàries. D'altra banda, el servidor guarda la petjada de la informació que el client ha enviat en sol·licituds anteriors (sistema operatiu, navegador, preferències, idioma…) i no fa falta que s'enviï tot de manera periòdica, només s'envia el diferent o nou i a més es comprimeix. Finalment, l'encriptació i la compressió s'utilitzen en tot moment.

Història i difusió

Google va crear el protocol SPDY en 2009. En 2011 va implementar Chrome en el seu navegador i la seva cerca i serveis Gmail. Per tant, en accedir a aquests serveis des d'aquest navegador l'usuari es beneficiava dels avantatges de SPDY. Després Google va obrir el codi de la seva implementació i des de llavors també l'han implementat en els navegadors Firefox i Opera, que estan més en marxa.

Quant al programari de servidors, les últimes versions dels servidors web Apatxe (el servidor web més utilitzat del món), Nginx i Jetty ja tenen el protocol SPDY. Twitter i WordPress també ofereixen suport SPDY i Facebook anuncia la seva intenció de col·locar-ho en breu.

Sembla que SPDY està tenint una gran difusió. I sembla que serà encara major, ja que la següent versió del protocol HTTP 2.0 que s'està treballant ara tindrà com a base SPDY. Per tant, en breu tota la web serà més ràpida gràcies a SPDY. Camini-li, camini-li! A dalt, a dalt! Epa! Yebigw!

Babesleak
Eusko Jaurlaritzako Industria, Merkataritza eta Turismo Saila