HTTP vs HTTPS: pasar nuestra web de HTTP a HTTPS, sobre velocidad… y HTTP/2

Posted by on Nov 15, 2016 in JOOPSSL, Seguridad | No Comments

¿Si paso a HTTPS mi web será más lenta?

HTTPS utiliza TLS, un protocolo criptográfico que proporciona comunicaciones seguras por la red. El uso de HTTPS añade pasos adicionales, por ello uno de los principales mitos es que utilizar comunicaciones cifradas (HTTPS) hace la navegación más lenta para nuestros visitantes.

A continuación veremos como el avance de la tecnología ha hecho que estos mitos o temores sean exagerados o triviales hoy en día, y que incluso desaparezcan.

HTTP vs HTTPS: consideraciones y mitos

Lo primero de todo, es difícil dar una respuesta sobre las implicaciones en el rendimiento y velocidad de la web sin tener en consideración todos los factores de cada web en particular y las configuraciones de red, hardware y software que hay detrás.

Lógicamente, la respuesta la obtendríamos haciendo una comparativa de tiempos de carga de distintas secciones de nuestra web: HTTP vs HTTPS.

Los resultados comparativos nos permitirían saber si realmente hay alguna penalización significativa en la velocidad en el paso a HTTPS y qué medidas podríamos tomar.

Tradicionalmente, HTTPS ha supuesto un incremento de uso de recursos de hardware y un incremento de tiempos de respuesta y tráfico generado debido al cifrado y modo en que se negocia la comunicación cliente-servidor bajo HTTPS (TLS handshake).

Según esto los tiempos y uso de recursos variarían según:

  • Redes (uso CDN o velocidad y ancho de banda disponible).
  • Hardware (CPU principalmente).
  • Software.
  • Ratio de contenido dinámico vs estático que tenga el sitio web.
  • Distancia del cliente con el servidor.
  • Tamaño y duración de las sesiones.
  • Cachés (caché de navegador, caché de servidor y caché de CDN).
  • Otros.

En la actualidad, las CPU modernas ya incluyen las instrucciones de cifrado incorporadas , por lo que el uso de hardware para cifrado se ha convertido en un tema trivial, y hacia donde realmente irían las miradas sería hacia la negociación cliente-servidor, donde sí puede ser más larga al incrementar el número de «viajes» de ida y vuelta necesarios en una sesión HTTPS frente a una HTTP.

Esto se puede mitigar de diferentes maneras:

  • Asegurar el uso de keepalive. Esto es permitir al cliente reutilizar la sesión SSL/TLS evitando handshakes adicionales.
  • Reducir el número de peticiones para que sean las mínimas posibles: combinar recursos donde sea posible, includes .js, combinar .css, y una buena política caché-cliente.
  • Reducir el número de recargas de página, por ejemplo pre-cargando datos no requeridos en la página para tenerlos listos para usar utilizando un script en el lado cliente.

En general, en sitios web que ya de por sí tienen un peso importante en generación de contenido dinámico tiene menos impacto en latencias el paso a HTTPS porque el tiempo consumido en cifrado es insignificante en comparación con el tiempo de generación del propio contenido.

Sin embargo, los sitios que sirven muchos contenidos estáticos, sí podrían sufrir una penalización mayor con HTTPS frente a HTTP. Lo bueno es que también son los que admiten más acciones de optimización y mejora (keepalive, caché cliente, CDN, etc.).

En cualquier caso, toda la industria está empujando hacía cifrar todo el tráfico bajo HTTPS saliendo múltiples iniciativas respaldadas por grandes del sector, como Google que pretende favorecer los sitios HTTPS en su buscador, Let’s Encrypt, nunca fue tan fácil y gratis tener certificados seguros, o HTTPS Everywhere (plugin para Firefox, Chrome y Opera que fuerza cifrar todas las comunicaciones si el sitio web dispone de HTTPS), por lo que parece que escoger HTTP o HTTPS va a dejar de ser una opción.

Fin del mito: llegó HTTP/2

El nuevo protocolo HTTP/2 basado en el abandonado SPDY, que logró mejorar hasta en un 60 por ciento la velocidad de carga de las páginas web estándar y hasta en un 55 por ciento las conexiones protegidas con cifrado TLS, cambia el panorama actual acabando con cualquier clase de mito.

El sitio web https://www.httpvshttps.com/ pretende eliminar los temores de pasar a HTTPS por temas de velocidad.

Esta web quiere hacernos llegar a una conclusión: la versión cifrada de la web protege nuestra privacidad y es además notablemente más rápida.

¿Cómo? El test compara el tiempo de carga de la versión HTTP (no segura) frente a la versión cifrada HTTPS (segura) de la página que vemos. Cada test carga 360 imágenes únicas y no cacheadas (0.62MB).

Algunos dicen que hace trampa: compara HTTP sobre HTTP/1.1 vs HTTPS sobre HTTP/2

Lo justo sería comparar HTTP y HTTPS sobre la misma versión del protocolo, podríamos hacer esto con HTTP/1.1 pero hay un pequeño inconveniente para hacerlo con HTTP/2 como veremos en la siguiente imagen:


http2-support

Sí, todos los navegadores que soportan HTTP/2 tienen un «2» pequeñito que dice: «Only supports HTTP2 over TLS (https)«.

Es decir los navegadores sólo soportan HTTP/2 bajo TLS (HTTPS) de manera que sólo HTTPS puede aprovechar las mejoras de velocidad de HTTP/2

La comparativa simplemente trata de saber cual es la velocidad máxima a la que podemos navegar con HTTP frente a la velocidad máxima a la que podemos navegar con HTTPS.

No pretende ser justa, pretende saber velocidades máximas, y si quieres ir a la máxima velocidad, utiliza última tecnología: HTTPS con HTTPS/2.

En resumen, como dice Ilya Grigorik, Web Performance Engineer en Google:

TLS has exactly one performance problem: it is not used widely enough. Everything else can be optimized.

TLS tiene un único problema de rendimiento: no se está utilizando suficientemente. Todo lo demás puede ser optimizado.

Si tienes alguna duda en el paso de tu web a HTTPS no dudes en contactar con nuestro equipo de soporte técnico.

Política de cookies

JOOPbox utiliza cookies propias y de terceros para mejorar tu experiencia de navegación y realizar tareas de análisis. Al continuar navegando entendemos que aceptas nuestra Política de Cookies. ACEPTAR

Aviso de cookies