HTTP vs HTTP 2

Por si no lo habéis notado, hace unos días ya que no escríbia nada en mi blog, sencillamente porque llevo unos meses enfocado en el desarrollo de una App Progresiva para Android e iOS, ya os contaré mi experencia en cuánto la tenga lanzada tratando el sórdido mundo de las aplicaciones progresivas (“Progressive Apps”). Pronto, muy pronto.

Y entre tantas innovaciones, hoy os hablaré de una [no tan] nueva innovación en el mundo de la web y que recientemente he integrado en TODOS mis servidores. Se trata de HTTP/2, un nuevo estándard que promete revolucionar la forma en la que navegamos a través de la web.

HTTP / 2 Lleva Un Tiempo Entre Nosotros

HTTP/2 finalmente ha llegado. Eso significa que muy pronto las páginas web se cargarán más rápido; las conexiones durarán más tiempo; los servidores responderán a las solicitudes con más contenido con un rigor y rendimiento más elevado… Pero: ¿Qué es HTTP2 y hay de nuevo con esta tecnología?

Sencillamente, HTTP/2 es una actualización muy atrasada del Protocolo de transferencia de hipertexto, el protocolo básico que maneja las conexiones entre un servidor web y su navegador. El desarrollo original de HTTP ocurrió mucho tiempo atrás cuando Tim Berners Lee se imaginó por primera vez su proyecto World Wide Web a fines de la década de 1980. Sin embargo, la versión del protocolo que usamos actualmente, HTTP / 1.1, se presentó oficialmente en 1999. No hace falta decir que la web ha cambiado bastante en los últimos 19 años.

SPDY by Google, como precursor de HTTP / 2

Google fue el primero en investigar los problemas con HTTP/1.1. En ese momento, gastaban millones de dólares al año para respaldar sus centros de datos, y el protocolo HTTP /1.1 simplemente cuesta demasiado en términos de recursos de CPU y capacidad de conexión a Internet. Desarrollaron SPDY como una alternativa experimental al protocolo HTTP / 1.1-a diseñado para una mejor seguridad y tiempos de carga de página mejorados que serían los precursores de HTTP/2.

¿Qué es HTTP/2?” Un Poco de Historia y Ventajas

¿Cuáles son algunos de los beneficios de usar HTTP/2?

  • HTTP / 2 es binario, en lugar de textual.
  • HTTP / 2 está completamente multiplexado.

Esto significa que HTTP/2 puede enviar múltiples solicitudes de datos en paralelo a través de una única conexión TCP. Esta es la característica más avanzada del protocolo HTTP/2 porque le permite descargar archivos web a través del modo ASync desde un servidor. La mayoría de los navegadores modernos limitan las conexiones TCP a un servidor.

  • Utiliza la compresión de encabezado HPACK para reducir la sobrecarga.
  • Permite a los servidores “enviar” respuestas de manera proactiva a las cachés de los clientes en lugar de esperar una nueva solicitud para cada recurso.
  • Utiliza la nueva extensión ALPN que permite conexiones encriptadas más rápidas ya que el protocolo de la aplicación se determina durante la conexión inicial.
  • Reduce los tiempos de ida y vuelta (RTT) adicionales, lo que hace que los sitios web se carguen más rápido sin ninguna optimización.
  • El sharding de dominio y la concatenación de activos ya no son necesarios con HTTP/2.

El protocolo funcionaba en redes con velocidades de conexión de puerto de 10 Mbits. Hoy, sin embargo, tenemos CPUs dramáticamente más rápidas y miles de MB de RAM, pero el protocolo principal de WWW sigue siendo solo HTTP/1.1. Se actualizó por última vez en 1992, entonces ¿por qué todavía lo estamos usando? HTTP vs HTTP 2

Mientras que otros protocolos se han actualizado a lo largo de los años (FTP se convirtió en SFTP, POP3 evolucionó a IMAP y telnet se convirtió en SSH), HTTP/1.1 no ha cambiado y, como resultado, ha desarrollado muchos problemas de velocidad, seguridad y facilidad de uso.

Sin embargo, en 2015, Internet Engineering Task Force (IETF) lanzó HTTP / 2, la segunda versión principal del protocolo de Internet más útil, HTTP. A continuación, le mostramos por qué es bueno, por qué no es tan bueno y de qué manera puede comenzar a usarlo hoy.

“¿Qué es HTTP/2?” Desventajas

Primero que nada, realmente no hay una alternativa disponible hoy que sea superior a HTTP/2. Los navegadores se negaron a admitir SPDY a favor de HTTP/2, y solo Mozilla Firefox sigue dando soporte a SPDY.

Algunos expertos creen que estos problemas pueden solucionarse en el futuro con el lanzamiento del protocolo “HTTP/3”, pero por ahora, estos son algunos de los inconvenientes.

No es muy rápido y no es súper moderno.

La mayoría de los expertos de todo el mundo esperaban muchas características nuevas en el protocolo HTTP / 2, pero éstas no se incluyeron en la versión final. La razón principal es simple: HTTP / 2 debe mantener la compatibilidad con el antiguo HTTP/1.1, utilizando las mismas solicitudes POST y GET, códigos de estado (200, 301, 404 y 500), etc. Además, varias características nuevas al igual que los encabezados de página de compresión son vulnerables para ataques de INCUMPLIMIENTO y presentan vulnerabilidades accesibles para el CIBERCRIMEN.

El cifrado no es obligatorio. Hace años, el cifrado de datos se limitaba principalmente a las transacciones financieras. Pero los ataques e incluso la vigilancia gubernamental son amenazas más viables, con implicaciones en su vida privada y su negocio.

El cifrado puede protegerlo contra ese tipo de amenazas, pero las disputas dentro del equipo de desarrolladores de HTTP/2 llevaron a la decisión de “dejar el cifrado como en HTTP/1.1.” Esto significa que los propietarios de un sitio web aún pueden elegir un nivel inferior de seguridad, potencialmente poniendo a los usuarios en riesgo. Los desarrolladores de navegadores pueden “arreglar” este problema de alguna manera; actualmente, activan HTTP/2 solo si los protocolos SSL / TLS están disponibles. ¿Te has fijado en la barra verde que tengo en mi sitio web? Eso significa que estás navegando en un portal web con cifrado de datos.

“¿Qué es HTTP/2?” Resumen

Se trata de una nueva tecnología que, si bien presenta novedades y mejoras en el procesado de páginas web, no acaba de ser implementada totalmente ya que nos exige a desarrolladores web como yo, una inversión de tiempo y dinero en infraestructura y  mantenimiento superior. A mi entender, se trata de una actualización necesaria del protocolo HTTP que debería marcar el camino a seguir hacia la evolución de la forma en la que navegamos por la red.

¿Eres programador o estás aprendiendo y te interesa ampliar la información para desarrollar bajo este protocolo? ¡Revisa este enlace oficial de Google Dev!

¿Quieres saber cómo puede beneficiarte este protocolo a ti o a tu empresa? ¡Escríbeme a través del formulario de contacto!

¿Tienes un comentario? Adelante con él en la sección, un poco más abajo. =)

Desarrollo Web

El Desarrollador WebAuthor posts

"El Desarrollador Web". Un profesional dedicado al 100% a la programación web y desarrollo de aplicaciones móviles. Puedes encontrarme en este blog de forma activa, y en otros en los que colaboro activamente. ¡Pregúntame! =)

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *