A rede de Internet está composta por unha infraestrutura física (routers, cables, emisores e receptores de ondas electromagnéticas...) e por diferentes protocolos e sistemas de comunicación (WiFi, TCP, UDP, IP, DNS...). E os servizos constituídos sobre esta rede (web, correo electrónico, SSH, FTP, etc.) tamén teñen os seus propios protocolos. Pois ben, a web baséase principalmente en formato HTML (formato utilizado paira escribir e codificar páxinas web) e no protocolo de comunicación HTTP.
As siglas HTTP significan HyperText Transfer Protocol, é dicir, protocolo de transferencia de hipertexto. Este protocolo define a comunicación entre o navegador web e un servidor web, polo que os navegadores móstrano ao comezo das direccións web “http://” (ou “https://” en sitios web seguros). O protocolo HTTP establece como o navegador debe codificar a solicitude de páxina ao servidor (GET, POST, HEAD, PUT, DELETE ou outro tipo de solicitudes, como se enviarán os parámetros e cookies…) e como responderá o servidor (una páxina web codificada en HTML ou un erro: Erro 404 cando a dirección non existe, 301 cando a dirección redirixiuse, 403 cando non temos permiso paira acceder á páxina, 500 cando se produciu un erro no servidor, etc.).
O inventor da web Sir Tim Berners-Le creou en 1989 a web, o protocolo HTTP e o formato HTML. W3C ou World Wide Web Consortium, creada polo propio Berners-Le e que actualmente dirixe, guiou a evolución de tres até datas recentes: O formato HTML é xestionado polo grupo WHATWG desde 2019 e o protocolo HTTP está en mans da IETF ou Internet Engineering Task Force nos últimos anos.
Nesta primeira versión só existían solicitudes GET e a resposta era sempre una páxina web. Esta versión foi publicada como versión 0.9 do estándar en 1991. En 1996 publicouse a versión HTTP 1.0 que incorporaba ao protocolo máis tipos de solicitudes e respostas e a información de cabeceira. E en 1997 lanzouse a versión HTTP 1.1, cuxa principal novidade era que todos os compoñentes que compoñen una páxina web (páxina HTML, imaxes, ficheiros CSS e Javascript...) podían ser descargados mediante unha única conexión, a diferenza das versións existentes que esixían una nova conexión paira cada una delas.
HTTP/2, publicada en 2015. Baseábase no protocolo experimental SPDY desenvolvido por Google, sobre o que escribimos en 2013. A súa novidade e vantaxes consistían en utilizar una conexión única paira todas as peticións de páxina que se realizan a un servidor, que o servidor poida enviar notificacións Push ao navegador e enviar os encabezados comprimidos.
O HTTP/3 ten una historia similar á HTTP/2, xa que ten detrás un protocolo experimental creado por Google en 2012, neste caso QUIC. As siglas indican Quick UDP Internet Connections, e como se indica nela, dúas son as principais características ou novidades do HTTP/3: rapidez e uso do protocolo UDP.
De feito, versións anteriores do HTTP usaban o protocolo TCP (Transmission Control Protocol) na capa de transporte inferior paira levar os paquetes de datos desde o navegador ao servidor e viceversa. A característica principal deste protocolo é que garante a fiabilidade dos datos: os paquetes de datos envíanse ordenados, dispoñen de mecanismos paira asegurar a integridade de cada un deles, e tras cada paquete espérase un acuse de recibo antes de enviar o seguinte; se non se recibe o acuse de recibo, se reenvía o pack. Por tanto, é fiable, pero tamén é relativamente lento debido aos datos adicionais que envía e á necesidade de esperar ás mensaxes de confirmación de recepción.
Pola contra, QUIC utiliza o protocolo UDP (User Datagram Protocol) na capa de transporte. En UDP o remitente envía os packs e punto, dá igual se chegaron ao destinatario ou non e se os packs perdéronse no camiño perdéronse. Ao non necesitar confirmación periódica, é máis rápido. Na web, con todo, é importante que todos os paquetes de datos cheguen ben, pensemos si nunha web faltasen ou se equivoquen fragmentos de texto ou imaxes. O certo é que cando se creou a web a rede era diferente á actual, había máis erros nas comunicacións e por iso eran necesarios mecanismos paira garantir a fiabilidade, pero hoxe en día son menos necesarios. Ademais, no QUIC puxéronse varios mecanismos paira pedir e reenviar as partes perdidas e evitar eses erros.
En 2015 enviouse ao IETF o protocolo QUIC, propondo a súa inclusión na seguinte versión do estándar do protocolo HTTP, e tras unha serie de modificacións e melloras, o grupo aceptouno como proposta do novo estándar en 2018: Chamaron HTTP/3.
A pesar de que o obxectivo e o principal logro do HTTP/3 é o aumento da velocidade das comunicacións web, por todo o devandito é evidente que non se trata só dunha sinxela mellora técnica: desde a súa creación e tras basearse no protocolo de transporte TCP durante case 30 anos, o protocolo HTTP, base da web, pasou a utilizar UDP.
Sendo o seu creador, Google leva anos usando QUIC paira comunicacións entre a súa navegador Chrome e algúns dos seus servizos (Gmail, Drive, Youtube...). O propio Chrome e outros navegadores (Firefox, Safari, Edge...) empezaron a implementar HTTP/3 este ano, pero de momento non vén por defecto, quen queira usalo ou probar ten que cambiar axústelos manualmente. Pero seguro que, en breve, todos utilizarán o HTTP/3 por defecto.
No entanto, paira poder utilizar HTTP/3 é necesario que tamén se coloque nos servidores web. Á vista de que mellora a velocidade, os principais servizos web e redes sociais probablemente porano en breve. Noutras webs, como vén sendo habitual, necesitará algo máis de tempo.
En calquera caso, o cambio virá. Ademais, paira os usuarios será inconsciente de que só notaremos que se mellorará a velocidade da web (ou quizais tamén porque o peso das webs é cada vez maior). Pero son importantes este tipo de melloras para que a web non perda competitividade e, por tanto, a súa influencia e presenza fronte a apps que utilizan outros protocolos non estándar e ocultos.