SPDY, protocolo de aceleración web

Leturia Azkarate, Igor

Informatikaria eta ikertzailea

Elhuyar Hizkuntza eta Teknologia

As comunicacións e transferencias que se producen na web realízanse a través do protocolo HTTP. Con todo, este protocolo deseñouse na creación da web fai máis de 20 anos, mentres que a web cambiou moito e o protocolo HTTP non é eficaz paira as características da web actual. Por iso crearon o protocolo SPDY, que se está estendendo rapidamente co obxectivo de axilizar a web.
spdy-weba-azkartzeko-protokoloa
7 niveis do modelo OSI.

SPDY non son as siglas de nada, senón un xogo de palabras de velocidade: speedy . Lembra o rato Speedy Gonzales? SPDY considera que acelera moito as transferencias de páxinas, documentos e outros ficheiros á web. Segundo as probas de laboratorio realizadas por Google, o rendemento pode mellorarse até un 64%. E nas primeiras probas en móbiles, din que conseguiron cargar as páxinas un 23% máis rápido. Pero como se consegue esta mellora?

Fundamentos de Comunicacións Web

Paira comprender como se consegue acelerar é necesario coñecer previamente o funcionamento do protocolo HTTP e da propia web. A comunicación en web, do mesmo xeito que calquera tipo de telecomunicacións de datos, está organizada en sete niveles segundo o modelo OSI (Open Systems Interconnection reference model, estándar diso), onde se utiliza un sistema ou protocolo a cada nivel.

Internet é una rede xigante descentralizada formada por millóns de redes interconectadas. No nivel máis básico da comunicación, é dicir, a nivel físico, utilízanse tecnoloxías moi diferentes paira transmitir os bits (0 e 1) (diferentes tensións no cable eléctrico, diferentes intensidades de luz na fibra óptica, ou modulación de frecuencias nas ondas de radio, etc.). No seguinte nivel, a nivel de enlace, detéctanse e corrixen os erros e interferencias na transmisión utilizando bits redundantes de control, e o método preciso aquí utilizado depende do nivel físico. As súas combinacións complementan os protocolos básicos de comunicación como Bluetooth, WiFi, etc., moitos dos cales Internet utiliza en diferentes puntos da rede. Pero en niveis lóxicos superiores, Internet utiliza sempre os mesmos protocolos, funcionando na práctica como una soa rede.

O nivel superior, nivel de rede, encárgase de organizar os datos en paquetes e da dirección, utilizando paira iso o protocolo IP de Internet ( Internet Protocol ). O seguinte nivel é o nivel de transporte que se ocupa, entre outros aspectos, da implantación das conexións e da fiabilidade das mensaxes, utilizando Internet o protocolo TCP ( Transmission Control Protocol ) neste nivel.

A continuación inclúese o nivel de sesión, encargado da autenticación, etc., e o nivel de presentación, encargado de comprimir e/ou cifrar os datos. Con todo, estes dous últimos en Internet están mesturados e dependen do último nivel de aplicación. Exemplos de servizos de aplicación en Internet son o correo electrónico, a web, o servizo FTP, o chat, etc. E o protocolo utilizado paira a web é HTTP.

No protocolo HTTP, un cliente (por exemplo, o navegador web do noso computador) establece una conexión cun servidor (normalmente un servidor web que aloxa webs) e envía una solicitude dunha páxina web (na que se recollen informacións gratuítas como a páxina desexada, o sistema operativo e navegador do cliente ou o idioma por defecto). O servidor responde devolvendo a páxina solicitada ou cun código de erro (como o famoso 404) e finaliza a conexión.

Melloras SPDY

Implementación do modelo OSI en Internet.

O protocolo HTTP é adecuado paira as características da web da época na que se creou a web, é dicir, paira a que só dispuña de páxinas estáticas. Pero a web actual é moi diferente.

Por exemplo, hoxe en día estamos nunha web, podemos establecer as nosas preferencias, que se almacenan nas cookies do noso computador; estes axustes deben ser reenviados cada vez que solicitamos una nova páxina desa web, o que pode ser una gran cantidade de información que estamos reenviando innecesariamente, retardando a comunicación. Doutra banda, a necesidade de restablecer a conexión cada vez que necesitamos una nova páxina tamén inactiva a navegación. Por último, cando estamos nunha páxina paira ver as actualizacións (por exemplo, se hai mensaxes novas cando estamos a ver o correo electrónico vía web), a única maneira de que o navegador pregunte con certa frecuencia ao servidor, non é posible que o propio servidor avise ao cliente cando hai algo novo.

O protocolo SPDY pretende resolver estas ineficiencias de HTTP sen substituír ao propio protocolo HTTP. Trátase dun protocolo que se implementa nos niveis de sesión e aplicación e que se pon en marcha no caso de que o cliente e o servidor téñano implementado, de non ser así a comunicación realizarase con HTTP normal.

SPDY utiliza una única conexión co servidor paira todas as solicitudes que se lle fagan, é dicir, cando o cliente ten que solicitar una nova páxina ao mesmo servidor non é necesario volver establecer a conexión, o que acelera a velocidade. Ademais, a través desta conexión, o servidor tamén pode enviar información ao cliente sen que este solicíteo, permitindo que as actualizacións das páxinas realícense no momento e cando sexan necesarias. Doutra banda, o servidor garda a pegada da información que o cliente enviou en solicitudes anteriores (sistema operativo, navegador, preferencias, idioma…) e non fai falta que se envíe todo de forma periódica, só se envía o diferente ou novo e ademais comprímese. Por último, a encriptación e a compresión utilízanse en todo momento.

Historia e difusión

Google creou o protocolo SPDY en 2009. En 2011 implementó Chrome no seu navegador e a súa procura e servizos Gmail. Por tanto, ao acceder a estes servizos desde leste navegador o usuario beneficiábase das vantaxes de SPDY. Despois Google abriu o código do seu implementación e desde entón tamén o han implementado nos navegadores Firefox e Opera, que están máis en marcha.

En canto ao software de servidores, as últimas versións dos servidores web Apache (o servidor web máis utilizado do mundo), Nginx e Jetty xa teñen o protocolo SPDY. Twitter e WordPress tamén ofrecen soporte SPDY e Facebook anuncia a súa intención de colocalo en breve.

Parece que SPDY está a ter una gran difusión. E parece que será aínda maior, xa que a seguinte versión do protocolo HTTP 2.0 que se está traballando agora terá como base SPDY. Por tanto, en breve toda a web será máis rápida grazas a SPDY. Ándelle, ándelle! Arriba, arriba! Epa! Yebigw!

Babesleak
Eusko Jaurlaritzako Industria, Merkataritza eta Turismo Saila