Underc0de

Foros Generales => Noticias Informáticas => Mensaje iniciado por: graphixx en Enero 26, 2016, 07:56:56 PM

Título: Novedades y ventajas de HTTP/2
Publicado por: graphixx en Enero 26, 2016, 07:56:56 PM
En este artículo hablaremos sobre el protocolo HTTP, las novedades con la nueva versión 2.0 y las diferencias entre la versión 1.X y la nueva 2.0. Además, nos haremos eco de que el pasado 3 de diciembre el famoso servicio CloudFlare (https://www.cloudflare.com/) activó la opción de usar HTTP/2 (RFC 7540 (https://tools.ietf.org/html/rfc7540))en sus comunicaciones.

(http://1.bp.blogspot.com/-0ZePTXsaso0/VqduXQQYVcI/AAAAAAAAP7U/x0JlOI_eeLE/s1600/http2.png)

Pero antes, para poder entender mejor la razón de existir de este protocolo, daremos una pequeña explicación sobre HTTP.

¿De dónde viene HTTP?

Tras el nacimiento de Internet, se vio la necesidad de establecer un protocolo de comunicación sencilla. Científicos del CERN (gracias al padre y creador "Tim (https://es.wikipedia.org/wiki/Tim_Berners-Lee)") crearon entonces un protocolo que combinaba varias tecnologías:


Estas tecnologías, bien establecidas, se englobaron en el protocolo HTTP, dando a una forma común en Internet para comunicar sistemas distribuidos.

Ahora vamos a explicar de forma breve el protocolo HTTP.

HTTP

Este protocolo es sin estado, esto significa que cada comunicación entre cliente y servidor no mantiene información. Cómo es habitual mantener cierta información de estado, se han desarrollado estrategias para mantener un estado fuera del protocolo HTTP (Cookies y Sessions).

Además define una nomenclatura para "llamar" a recursos ubicados en la máquina que hace de servidor, de la siguiente forma: http://[dominio o ip]:[puerto]/[ruta_recurso]?[atributo]

HTTP 2.0

El pasado mes de febrero se publicó la versión 2.0, tras más de 15 años sin actualizarse.

La versión 2, es compatible con el funcionamiento de las versiones 1.1 y 1.0. Manteniendo los mismos códigos de estado (1XX, 2XX, 3XX, 4XX, 5XX), métodos (GET, POST, PUT, HEAD, etc) y la estructura de la cadena de llamada. Las diferencias se enumeran a continuación:



En definitiva, podremos disponer de carga más rápida para todos los recursos de la página.

Conclusión

Para hacer funcionar el protocolo HTTP 2, es necesario que tanto el cliente como el servidor tenga soporte. En el caso de que algunos de los dos no tengan soporte, en la negociación de protocolo, se usarían versiones anteriores.

En el entorno cliente, los navegadores modernos actualizados tienen soporte (Chrome, Firefox, etc). Algunos navegadores que no tienen soporte contarán con ello próximamente.

En el entorno servidores, existen implementaciones oficiales para multitud de entornos (Apache, Dart, Jetti, etc...) que tenéis disponibles aquí (https://github.com/http2/http2-spec/wiki/Implementations). Por otra parte, en los servidores que hacen de intermediario como CloudFlare, cada vez más se ofrece soporte para HTTP 2 (https://blog.cloudflare.com/introducing-http2/).

Fuente: blog.segu-info.com.ar