HTTP
¿Qué es el protocolo HTTP?
Desde el momento en que accedes a Google y pulsas una de las URLs en las SERPs pasan muchas cosas sin que te des cuentas. Lo mismo ocurre cuando directamente escribes la dirección web en la barra de tu navegador favorito.
Aunque apenas transcurran unos segundos desde ese momento, estarán iniciando una serie de comunicaciones que terminan con la página que solicitaste cargada por completo. Todo eso gracias al protocolo HTTP.
¿Qué significan las siglas HTTP? Son las iniciales de “Hypertext Transfer Protocol” que, traducido al castellano, significa: Protocolo de Transferencia de Hipertexto. Pero, para simplificarlo todo de ahora en adelante, nos referiremos a él simplemente como HTTP.
Este protocolo controla las comunicaciones necesarias entre un cliente web y un servidor. El resultado de esa interacción es la carga de recursos HTML, como una página u otras formas similares de archivos.
¿Para qué sirve HTTP?
El funcionamiento del protocolo HTTP se basa en relaciones sencillas. Pero, aunque no lo parezca, también tienen su complejidad dependiendo del tipo de página web que quieras cargar. ¡No todas las URLs son iguales!
En el punto anterior ya te comentamos que este protocolo sustenta la transmisión de datos al entrar en una página web. Esa es su principal función, pero sería una descripción muy generalizada de lo que puede ofrecerte.
Además de lo mencionado, HTTP es un protocolo que tiene muchísimas capacidades que ha adquirido con cada versión. Conoce todas las funciones de control con las que cuenta:
- La forma como se almacena el caché en una página web puede controlarse mediante el HTTP, configurando qué tipos de datos se van a guardar, así como la duración de tal registro.
- Puedes abrir varias sesiones en páginas web que así lo permitan, como, por ejemplo, en correos electrónicos.
- Mediante este protocolo puedes decidir el grado de flexibilización del requisito de origen. ¿Qué es eso? Un mecanismo para evitar ataques contra la privacidad de quienes lleguen a tu página web. Con esto solo se brindará acceso a fuentes conocidas.
- El protocolo de transferencia de hipertexto también se utiliza para gestionar las autenticaciones, de modo tal que solo puedan acceder a una URL quienes estén habilitados para hacerlo.
¿Cómo funciona HTTP?
En síntesis, su principio de funcionamiento es bastante sencillo:
- Una persona entra en una URL.
- El cliente web procesa la URL subdividiendo sus diferentes secciones. De esa forma separa el protocolo de acceso, así como su dirección DNS o el IP del servidor.
- Inicia una comunicación TCP/IP con el puerto TCP que le corresponda. Este es el momento en el que el servidor realiza la solicitud con todas las variables necesarias, como es el caso de la URL que dirige hasta determinado servidor o la versión HTTP utilizada, además de datos sobre las capacidades del buscador y ciertos datos adicionales sobre el servidor.
- La siguiente fase consistirá en la devolución de una respuesta a la solicitud tramitada. Para ello, el servidor envía un código de estado, así como el dato MIME de retorno.
Versiones de HTTP que existen
Desde la irrupción de este protocolo han visto la luz varias versiones de HTTP, cada una de ellas con sus propias características. Pero siempre con el denominador común de presentar mejoras y posibilidades para que la experiencia de usuario sea la mejor. A continuación te presentamos el historial de estas versiones con su correspondiente descripción:
En 1991 se creó la primera versión, que no tuvo un número que la identificará hasta tiempo después, conociéndose como HTTP 0.9. La particularidad de esta fase es que era un protocolo de una sola línea y no soportaba cabeceras. Eso hacía que las peticiones fuesen bastante simples, lo que influía en su capacidad. Las solicitudes empezaban con el método GET, seguido por la URL en cuestión. ¡Sin grandes excentricidades! Por su parte, las respuestas también eran sencillas.
Años más tarde, en 1996, salió a la luz HTTP/1.0, que amplió los métodos de petición a 3: GET, HEAD y POST. Con esta versión se tumbaron algunas barreras logrando un protocolo mucho más flexible. Otro de los aspectos más destacables de HTTP/1.0 es que se comenzaron a usar las cabeceras. En líneas generales, se trata de una evolución mucho más versátil.
En 1999 se optimizó aún más el HTTP con la versión 1.1. con el objetivo exclusivo de estandarizar todo. Hasta esa fecha las ambigüedades eran el pan de cada día de este protocolo. Así que, con esta versión, pretendieron fijar las reglas del juego y lo lograron hasta tal punto que esta versión es muy utilizada hoy en día.
En mayo de 2015 llegó HTTP/2, que destaca por su rapidez gracias a su capacidad de gestionar varias peticiones en paralelo, y que además elimina las cabeceras redundantes.
Y en junio de 2022 se publicó HTTP/3, que es la versión más reciente y ya está soportada por todos los navegadores principales. Su novedad no está en la web sino un piso más abajo: abandona TCP y pasa a usar QUIC, un transporte sobre UDP que trae el cifrado incorporado y establece la conexión con menos idas y venidas.
Lo que eso significa en la práctica es menos espera al empezar a cargar, y sobre todo mucha mejor tolerancia a las conexiones malas: si se pierde un paquete, con HTTP/2 se frenaba todo lo demás, y con HTTP/3 solo se frena lo que dependía de ese paquete. Por eso donde más se nota es en móvil y en cobertura irregular.
No es algo que se active escribiendo código: depende de que lo soporten tu servidor o tu CDN, así que es una pregunta que hacerle a quien te aloja la web.
Diferencia entre HTTP y HTTPS
Tan solo por sus denominaciones suelen relacionarse, pero, ¿cuáles son las diferencias entre HTTP y HTTPS? Definitivamente, se asocian con la seguridad.
Para entender este punto es necesario definir qué HTTPS es la combinación de otros dos protocolos: HTTP+SSL/TLS. Con esto se logra que las comunicaciones estén protegidas y que ninguna fuente desautorizada pueda acceder a ellas. Tan solo lo harán el cliente web y el servidor. ¡Nadie más!
En resumen, HTTPS tiene una gran diferencia con respecto a HTTP, justo la que te mencionamos anteriormente y que no es otra que la seguridad, pues, gracias a ese protocolo, se pueden realizar todas las transferencias de hipertexto de la misma manera, pero ahora sin preocuparte por posibles atentados.
Conviene concretar por qué esto dejó de ser opcional, porque no es solo una cuestión de buenas prácticas ni únicamente de posicionamiento.
Desde julio de 2018, con la versión 68 de Chrome, el navegador marca como «no seguro» cualquier página servida por HTTP, tenga formularios o no. Y ahí está la parte que cuesta dinero: no es un tecnicismo que solo vean los desarrolladores, es un aviso que ve tu visitante, junto a la dirección, antes de leer una sola línea de tu web.
De modo que la pregunta ya no es si necesitas HTTPS «porque vendes en línea». Aunque tu web sea solo informativa, sin carrito ni formularios, sin HTTPS estás recibiendo a la gente con un cartel que dice que no eres de fiar. Google además tiene en cuenta el uso de HTTPS entre sus señales, pero el motivo de peso es bastante más inmediato que ese.

