lunes, 6 de junio de 2016

Usando HTTP/2 en NorfiPC para cargar las páginas más rápido



Mejoras y ventajas que ofrece HTTP/2. Que navegadores lo admiten. Como saber si lo usamos en una página y si un sitio web lo ha implementado. Diferencias entre HTTP 1.1, SPDY y HTTP/2.
Usando HTTP/2 en NorfiPC para cargar las páginas más rápido En este artículo compartimos información sobre HTTP/2, el nuevo protocolo de internet introducido para acelerar la navegación, que permite cargar los elementos de las páginas de una forma más rápida y eficiente.
Nuestro sitio web al igual que todos los que operan bajo el servicio CDN de CloudFlare, usa HTTP/2 desde diciembre del 2015.
HTTP/2 es la más reciente versión y una evolución del protocolo predeterminado de internet HTTP.
Permite agilizar y mejorar considerablemente la carga de las páginas web, especialmente las que contienen varios elementos y necesitan de varias peticiones por el navegador.
No obstante se mantiene la compatibilidad con los protocolos anteriores, por lo que las páginas se pueden cargar usando el antiguo HTTP 1.1, el experimental SPDY y HTTP/2.
Depende del navegador usado por el lector y si el servidor web al que accede lo tiene implementado.



Diferencias entre HTTP 1.1, SPDY y HTTP/2


HTTP 1.1

HTTP 1.1 es el primero de los protocolos introducidos para navegar en internet y usado en todos los sitios web. La versión original HTTP 1.1 data de 1999.
Permite intercambiar datos entre el navegador y el servidor web, mediante el envío y recepción previa de peticiones, con la desventaja de una gran latencia entre peticiones ya que la conexión se abre y se cierra con cada una de ellas.

SPDY

SPDY es un protocolo experimental desarrollado e introducido por Google para mejorar el rendimiento en las comunicaciones entre servidor y cliente y reducir el tiempo de carga de las páginas web.
SPDY (se pronuncia como la palabra en inglés "speedy"), utiliza una sola conexión TCP para manejar varias peticiones HTTP a la vez.
Según Google permite una mejoría de más de un 50% en la velocidad de carga de las páginas.
Existen 5 versiones (2, 3, 3.1, 4 y 5).
SPDY está disponible solo en los sitios, que lo que lo han implementado.
Actualmente se sigue empleando, pero se ha interrumpido su desarrollo.

HTTP/2

HTTP/2 es una completa revisión de HTTP basado en SPDY.
Al igual que SPDY mejora la carga de los elementos de las páginas usando las siguientes funcionalidades:
- Multiplexación: Varios recursos son cargados mediante una sola petición, a diferencia de HTTP 1.1 que requiere que cada petición use su propia conexión TCP.
Esto es una gran ventaja porque los navegadores solo establecen un número limitado de conexiones al mismo tiempo y actualmente las páginas necesitan de muchos recursos.
Por ejemplo esta página requiere para cargar completamente, que el navegador efectúe 66 peticiones.
Tantas peticiones se deben a los elementos propios de la página (texto, imágenes, CSS), los scripts de las redes sociales y la publicidad.
- Compresión de encabezados HTTP.
- Protocolo binario en vez de textual.
Tanto HTTP/2 como SPDY requieren un certificado SSL valido y están solo disponibles para conexiones HTTPS.



Que navegadores web admiten HTTP/2


No todos los navegadores web admiten HTTP/2 y SPDY.
Actualmente las últimas versiones de los siguientes navegadores los admiten: Google Chrome (versión de escritorio y móvil), Firefox (versión de escritorio y móvil), Edge, Opera, Opera Mobile, Amazon Silk (dispositivos Kindle Fire) y iOS Safari (a partir versión 9).
De lo anterior se deduce que los que usan dispositivos con Android deben de instalar algunos de los navegadores anteriores.
Para obtener información actualizada accede a la siguiente página: Lista de navegadores que soportan HTTP/2
Para comprobar si el navegador que usas admite HTTP/2, solo entra a la siguiente página creada por CloudFlare: Test de HTTP/2



Como saber si un sitio web usa HTTP/2


En el momento de esta publicación solo grandes redes como Akamai (Facebook), Google, CloudFlare y otros sitios han implementado HTTP/2 en sus servidores.
Si sientes curiosidad y quieres comprobar el uso de HTTP/2 en las páginas en que navegas, puedes en el navegador web una extensión.
Para Google Chrome está disponible HTTP/2 and SPDY Indicator y para Firefox SPDY Indicator.
En la siguiente imagen de ejemplo se puede ver el funcionamiento de HTTP/2 and SPDY indicator en Chrome, al cargar una página de nuestro sitio.
La extensión muestra un pequeño icono a la derecha de la barra de direcciones, que usa un color diferente con cada tipo de protocolo.
Para el predeterminado HTTP 1.1 el icono es de color gris, para SPDY verde y para HTTP/2 azul.
Extensión en el navegador Google Chrome que indica si una página de un sitio emplea el protocolo HTTP/2, SPDY o HTTP 1.1.
Extension en el navegador Google Chrome que indica si un sitio emplea el protocolo HTTP/2, SPDY o HTTP 1.1
Otra opción es usar una herramienta online para probar la implementación de HTTP/2 en cualquier sitio web de internet.
Para eso accede a: HTTP/2 Test
Probando con el servicio de HTTP/2 Test si HTTP/2 esta implementado en el sitio NorfiPC.
Probando si HTTP/2 esta implementado en el sitio NorfiPC



Como saber que elementos de una página no son cargados con HTTP/2


Aunque el servidor de un sitio lo tenga implementado y el navegador lo acepte, no todos los recursos de una página son cargados mediante HTTP/2, porque algunas peticiones pueden ser hechas a sitios de terceros como las redes sociales.
Para comprobar el protocolo usado en la carga de cada recurso, se puede usar en el navegador Google Chrome la herramienta Developers Tool (Herramienta para Desarrolladores).
Para eso en el panel Networks habilita el menú "Protocolos".
Herramienta para Desarrolladores de Google Chrome mostrando que elementos de una página son cargados usando HTTP/2, en ese caso el protocolo se representa como "h2".
Herramienta para Desarrolladores de Google Chrome mostrando que elementos de una página son cargados usando HTTP/2



Sitios populares que han adoptado HTTP/2


Entre los sitios más importantes de internet que han implementado HTTP/2 en sus servidores se encuentran: Google, Facebook, Youtube, Yahoo, Twitter, Instagram y Feedly.

Como implementar HTTP/2 en un sitio web


Los desarrolladores y administradores de sitios pueden encontrar toda la información para implementar HTTP/2, en la página principal del proyecto en http://http2.github.io/. También herramientas para probar y diagnosticar su funcionamiento.
Como decíamos al comienzo del artículo todos los sitios que usan CloudFlare, pueden activar HTTP/2 en sus sitios.



Más información sobre HTTP/2


➔ En el sitio IsTheWebHTTP2Yet se ofrece información sobre la implementación de HTTP/2 en los sitios de internet, agrupándolos en tres categorías:
Sitios que han anunciado el soporte, que soportan parcialmente el protocolo y los que ofrecen soporte verdadero.
En cada caso se puede descargar una lista con las direcciones URL de los sitios.
También se muestran varios gráficos que muestran el crecimiento de la adopción en cada caso, comenzando el verdadero soporte en septiembre del 2015.
Además el inicio del soporte por servidores, organizaciones y países. Se destaca entre las organizaciones CloudFlare.
➔ En W3Techh se muestra el crecimiento de la adopción de HTTP/2 desde mediados del 2015 y los sitios más populares que lo han implementado.

No hay comentarios:

Publicar un comentario