}

HTTP/3, nova versió del protocol de comunicació web

2020/09/01 Leturia Azkarate, Igor - Informatikaria eta ikertzaileaElhuyar Hizkuntza eta Teknologia Iturria: Elhuyar aldizkaria

La World Wide Web es basa en el protocol HTTP per al transport de sol·licituds de pàgines de navegadors i enviaments de pàgines de servidors en Internet. Aquest protocol ha anat evolucionant des de la seva creació a principis dels 90. Ara s'ha proposat una nova versió HTTP/3 que farà que la web sigui més ràpida i segura. Aquesta versió ja està entre nosaltres, ja que diversos navegadors, servidors i empreses ja l'ofereixen, i en un futur no gaire llunyà serà la principal via per a garantir la comunicació en la web.
Ed. Wavebreakmedia/Shutterstock.com

La xarxa d'Internet està composta per una infraestructura física (encaminadors, cables, emissors i receptors d'ones electromagnètiques...) i per diferents protocols i sistemes de comunicació (Wifi, TCP, UDP, IP, DNS...). I els serveis constituïts sobre aquesta xarxa (web, correu electrònic, SSH, FTP, etc.) també tenen els seus propis protocols. Doncs bé, la web es basa principalment en format HTML (format utilitzat per a escriure i codificar pàgines web) i en el protocol de comunicació HTTP.

Les sigles HTTP signifiquen HyperText Transfer Protocol, és a dir, protocol de transferència d'hipertext. Aquest protocol defineix la comunicació entre el navegador web i un servidor web, per la qual cosa els navegadors el mostren a l'inici de les adreces web “http://” (o “https://” en llocs web segurs). El protocol HTTP estableix com el navegador ha de codificar la sol·licitud de pàgina al servidor (GET, POST, HEAD, PUT, DELETE o un altre tipus de sol·licituds, com s'enviaran els paràmetres i cookies…) i com respondrà el servidor (una pàgina web codificada en HTML o un error: Error 404 quan la direcció no existeix, 301 quan la direcció s'ha redirigit, 403 quan no tenim permís per a accedir a la pàgina, 500 quan s'ha produït un error en el servidor, etc.).

Històric Protocol HTTP

L'inventor de la web Sir Tim Berners-Lee va crear en 1989 la web, el protocol HTTP i el format HTML. W3C o World Wide Web Consortium, creada pel propi Berners-Lee i que actualment dirigeix, ha guiat l'evolució de tres fins a dates recents: El format HTML és gestionat pel grup WHATWG des de 2019 i el protocol HTTP està en mans de la IETF o Internet Engineering Task Force en els últims anys.

En aquesta primera versió només existien sol·licituds GET i la resposta era sempre una pàgina web. Aquesta versió va ser publicada com a versió 0.9 de l'estàndard en 1991. En 1996 es va publicar la versió HTTP 1.0 que incorporava al protocol més tipus de sol·licituds i respostes i la informació de capçalera. I en 1997 es va llançar la versió HTTP 1.1, la principal novetat del qual era que tots els components que componen una pàgina web (pàgina HTML, imatges, fitxers CSS i Javascript...) podien ser descarregats mitjançant una única connexió, a diferència de les versions existents que exigien una nova connexió per a cadascuna d'elles.

HTTP/2, publicada en 2015. Es basava en el protocol experimental SPDY desenvolupat per Google, sobre el que escrivim en 2013. La seva novetat i avantatges consistien a utilitzar una connexió única per a totes les peticions de pàgina que es realitzen a un servidor, que el servidor pugui enviar notificacions Push al navegador i enviar els encapçalats comprimits.

Característiques HTTP/3

L'HTTP/3 té una història similar a la HTTP/2, ja que té darrere un protocol experimental creat per Google en 2012, en aquest cas QUIC. Les sigles indiquen Quick UDP Internet Connections, i com s'indica en ella, dues són les principals característiques o novetats de l'HTTP/3: rapidesa i ús del protocol UDP.

De fet, versions anteriors de l'HTTP usaven el protocol TCP (Transmission Control Protocol) en la capa de transport inferior per a portar els paquets de dades des del navegador al servidor i viceversa. La característica principal d'aquest protocol és que garanteix la fiabilitat de les dades: els paquets de dades s'envien ordenats, disposen de mecanismes per a assegurar la integritat de cadascun d'ells, i després de cada paquet s'espera un justificant de recepció abans d'enviar el següent; si no es rep el justificant de recepció, es reenvía el pack. Per tant, és fiable, però també és relativament lent a causa de les dades addicionals que envia i a la necessitat d'esperar als missatges de confirmació de recepció.

Per contra, QUIC utilitza el protocol UDP (User Datagram Protocol) en la capa de transport. En UDP el remitent envia els packs i punt, és igual si han arribat al destinatari o no i si els packs s'han perdut en el camí s'han perdut. Al no necessitar confirmació periòdica, és més ràpid. En la web, no obstant això, és important que tots els paquets de dades arribin bé, pensem si en una web faltessin o s'equivoquin fragments de text o imatges. La veritat és que quan es va crear la web la xarxa era diferent a l'actual, hi havia més errors en les comunicacions i per això eren necessaris mecanismes per a garantir la fiabilitat, però avui dia són menys necessaris. A més, en el QUIC es van posar diversos mecanismes per a demanar i reexpedir les parts perdudes i evitar aquests errors.

En 2015 es va enviar al IETF el protocol QUIC, proposant la seva inclusió en la següent versió de l'estàndard del protocol HTTP, i després d'una sèrie de modificacions i millores, el grup el va acceptar com a proposta del nou estàndard en 2018: Van dir HTTP/3.

A pesar que l'objectiu i el principal assoliment de l'HTTP/3 és l'augment de la velocitat de les comunicacions web, per tot el que s'ha dit és evident que no es tracta només d'una senzilla millora tècnica: des de la seva creació i després de basar-se en el protocol de transport TCP durant gairebé 30 anys, el protocol HTTP, base de la web, ha passat a utilitzar UDP.

Implementació i difusió

Sent el seu creador, Google porta anys usant QUIC per a comunicacions entre el seu navegador Chrome i alguns dels seus serveis (Gmail, Drive, Youtube...). El mateix Chrome i altres navegadors (Firefox, Safari, Edge...) han començat a implementar HTTP/3 enguany, però de moment no ve per defecte, qui vulgui usar-ho o provar ha de canviar els ajustos manualment. Però segur que, en breu, tots utilitzaran l'HTTP/3 per defecte.

No obstant això, per a poder utilitzar HTTP/3 és necessari que també es col·loqui en els servidors web. A la vista que millora la velocitat, els principals serveis web i xarxes socials probablement ho posaran en breu. En altres webs, com és habitual, necessitarà una mica més de temps.

En qualsevol cas, el canvi vindrà. A més, per als usuaris serà inconscient que només notarem que es millorarà la velocitat de la web (o potser també perquè el pes de les webs és cada vegada major). Però són importants aquest tipus de millores perquè la web no perdi competitivitat i, per tant, la seva influència i presència enfront d'apps que utilitzen altres protocols no estàndard i ocults.

Gai honi buruzko eduki gehiago

Elhuyarrek garatutako teknologia