Saltar la navegación

5.6 HTTP

El protocolo HTTP es el que permite el intercambio de información hipertextual de las páginas web. Este estándar especifica cómo se comunican todos los elementos de software involucrados en la comunicación, es decir cliente (es el programa que hace la llamada al servidor y es el que atiende en la transmisión la trama de los mensajes, ejemplo, los navegadores web) y servidor web (es el programa que presta el servicio en la red).

Así, pues, el protocolo HTTP se basa en la conexión entre cliente y servidor. Una transacción HTTP (un ejemplo de este tipo de transacción seria abrir una página web) consiste básicamente en:

Conexión

Establecimiento de una conexión del cliente con el servidor.

Solicitud

Envío por parte del cliente de un mensaje de solicitud al servidor.

Respuesta

Envío por parte del servidor de una respuesta al cliente

Cierre

Fin de la conexión por parte del cliente y el servidor.

El Protocolo de Transferencia de Hipertexto (HyperText Transfer Protocol o HTTP, por sus siglas en inglés), es un protocolo utilizado en sistemas de redes, diseñado con el propósito de definir y estandarizar la sintaxis y la semántica de las transacciones que se llevan a cabo entre los distintos equipos que conforman una red. Es decir, la manera en que un servidor web se comunica con navegadores como Google Chrome o Mozilla Firefox.

La principal característica de este protocolo es que es un sistema orientado a una comunicación del tipo “petición-respuesta”, lo que significa que en la estructura debe existir un cliente (por ejemplo, tu navegador) y un servidor (por ejemplo, el hosting de la web a la que accedes), siendo el cliente el que efectúa las peticiones y el servidor el que las responde. Las respuestas del servidor pueden ser la descarga de un archivo o la apertura de una página web, dependiendo del tipo de petición solicitada. Es decir, si en el navegador escribes una dirección web y pulsas la tecla “Intro”, el servidor te responderá devolviendo lo deseado.

El Protocolo de Transferencia de Hipertexto Seguro (HyperText Transfer Protocol Secure o HTTPS) es un sistema que se basa en una combinación de dos protocolos diferentes, HTTPS y SSL/TLS (protocolos criptográficos que proporcionan comunicaciones seguras por una red o internet). HTTPS se refiere al uso del HTTP sobre una Capa de Protección Segura (SSL por sus siglas en inglés) o una conexión con Seguridad de la Capa de Transporte (TLS), de forma que un mensaje HTTP es cifrado antes de la transmisión y descifrado una vez se recibe.

Explicado de forma sencilla, el principal beneficio de HTTPS es que hace que los sitios sean más seguros para los usuarios. O más concretamente, es más seguro cuando un usuario proporciona cualquier tipo de información. De hecho, es imprescindible cuando los usuarios dan cualquier tipo de información de carácter personal, y una buena idea en cualquier web.

Cuando un usuario nos envía cualquier tipo de información hacia nuestro servidor, ¿qué añade HTTPS? Esencialmente proporciona todo un conjunto de capas de protección:

Encriptación

Si algún atacante consigue interceptar esa información, no le servirá para nada ya que no sabrá descifrarla (pero tú sí).

integridad de datos

Los atacantes no podrán “modificar” el contenido del mensaje enviado.

autenticación

Se evitan los ataques de suplantación de identidad o intermediarios (“man in the middle”) en el que tu usuario proporciona información a terceros cuando cree que te los está dando a ti.

¿Es necesario HTTPS?

Hasta aquí, puede haber quedado claro que uno de los beneficios de tener HTTPS es que con HTTPS, los sitios web son  más seguros para los usuarios. Pero si lo vemos en función de un blog, no se realizan compras en el sitio web y como mucho pido el nombre y correo electrónico a mis lectores para que se suscriban a mi lista de correo… ¿es necesario?

¡Ojo! Recuerde que el correo electrónico se considera información de carácter personal. Dicho esto, si este es su caso, posiblemente no sea estrictamente necesario el cambio a HTTPS. Pero si el sitio web acepta pagos o cualquier otra información de carácter personal, es necesario HTTPS en, como mínimo, las páginas de pago o donde se recoja esa información.