HTTP2 los pros y los contras
En cada oportunidad que visitamos alguna página web, nuestro navegador busca mediante una solicitud al servidor todos los medios que conforman la página que deseamos ver. Desde el nacimiento de nuestro querido internet esto se ha hecho a través del famoso HTTP/1.1.
Con el pasar del tiempo y la evolución de la tecnología, las páginas web se han vuelto algo más complejas y pesadas, y el protocolo HTTP/1.1 ha sido sometido cada vez más a una mayor presión.
Los Web sites, tal como las conocemos hoy en día, se complementan con recursos tales como imágenes, texto, tipografías, entre otros, que las hacen mucho más pesadas. En consecuencia a esto, toma más tiempo para que se carguen, lo que ha llevado a millones de diseñadores y también de desarrolladores web ha crear un sin fin de soluciones ingeniosas para minimizar este problema. Pero aún así, sigue siendo muy evidente que hay una necesidad real de realizar una actualización del mismísimo protocolo HTTP.
El nuevo HTTP/2 traerá algunos cambios y mejoras en la forma en que las páginas se entregarán al navegador. Mientras que los usuarios comunes de Internet posiblemente no notarían la diferencia, los diseñadores y desarrolladores web lo notarán muchísimo.
¿Cómo trabaja HTTP/1?
Para buscar una página web que deseas visitar, tu navegador se comunica con el servidor o los servidores. Intercambian mensajes, el navegador requiere al en solicitudes separadas las imágenes, las fuentes y otros recursos necesarios para que la página cargue, y el servidor, a su vez, los envía como respuestas.
Como resultado de esto, el constante flujo de datos a través de millones de conexiones provoca un congestión, y la velocidad de carga de la página se ralentiza. Afortunadamente con el desarrollo de HTTP/2 esto será cosa del pasado.
¿Cómo trabajará HTTP/2?
El navegador como siempre lo ha hecho, seguirá enviando peticiones a un servidor para obtener respuestas con los medios necesarios para componer la página Web que se desea visitar, pero algunas cosas van a cambiar. El nuevo HTTP/2 ofrecerá nuevas características tales como el Flujos Multiplexados, Server Push, Compresión de Cabecera, entre otras.
Flujos Multiplexados
Si recuerda las congestiones causadas por las múltiples conexiones que mencionamos anteriormente, pues la Multiplexación eliminará este problema al hacer esos recursos en partes más pequeñas pasen a través de una conexión, y luego volviendo a armar los recursos después de que han llegado a su destino final, es decir el navegador del usuario.
Server Push
El Server Push representará una manera mucho más eficiente para entregar medios a un navegador. Ya que en un entorno HTTP/1, la página HTML simplemente se envía al navegador, el navegador lo analiza y decide cuáles son los medios que podría necesitar para cargar la web, y a continuación, solicita esos medios nuevamente al servidor.
HTTP/2 será más proactivo en este sentido, ya que envía los medios que es probable que se necesiten sin que esperar a que el navegador los solicite. Dichos medios irán a la memoria caché del explorador y están disponibles de manera inmediata siempre y cuando se necesiten.
Compresión de Cabecera
En el actual HTTP/1, cada solicitud enviada tiene un pequeño trozo de datos adicionales, los cuales están conectados a los encabezados HTTP, que indican cómo se comporta un navegador o un servidor. En promedio, actualmente los navegadores son capaces de hacer algo asi como unas seis conexiones a la vez pero, dado que el número de conexiones necesarias para cargar una página web típica puede tratarse de hasta unas 100. Esto lo solucionará el HTTP/2 comprimiendo las cabeceras.