HTTP (HyperText Transfer Protocol) es el protocolo con el que funciona la web: define cómo un cliente (tu navegador) le pide algo a un servidor y cómo este le responde. Funciona por petición-respuesta: el navegador envía una petición («dame esta página») con un método (GET para pedir, POST para enviar datos) y el servidor devuelve una respuesta con un código de estado (200 «todo bien», 404 «no encontrado», 500 «error del servidor») y el contenido. HTTPS es HTTP cifrado: añade una capa de seguridad llamada TLS que hace tres cosas —cifra todo lo que viaja (nadie en el camino puede leerlo), garantiza la integridad (nadie puede alterarlo sin que se note) y autentica al servidor mediante un certificado (confirma que hablás con quien dice ser)—. Un matiz importante y muy malentendido: el candado de HTTPS significa que la conexión es segura y que el sitio tiene un certificado válido para ese dominio, no que el sitio sea legítimo o de confianza. Un sitio de phishing también puede tener candado. Hoy HTTPS es el estándar en toda la web.
Ver índice de contenidos
Qué es HTTP
HTTP es el idioma de la web: las reglas que permiten que tu navegador y un servidor se entiendan. Su modelo es el de petición-respuesta: el cliente siempre inicia —pide algo— y el servidor responde. El servidor no habla por su cuenta; solo contesta a lo que se le pregunta.
Sin estado, por diseño
HTTP es sin estado (stateless): cada petición es independiente y el servidor no recuerda, por sí mismo, las anteriores. Esto lo hace simple y escalable, pero plantea un problema: ¿cómo sabe una web que seguís conectado entre página y página? La respuesta son mecanismos añadidos encima, como las cookies y los tokens, que llevan de una petición a otra la información de tu sesión.
Métodos y códigos de estado
Cada petición HTTP lleva un método que indica qué se quiere hacer:
- GET: pedir o recuperar un recurso (una página, una imagen).
- POST: enviar datos al servidor (el contenido de un formulario).
- PUT / DELETE: actualizar o borrar un recurso (habitual en APIs).
Y cada respuesta lleva un código de estado de tres cifras, agrupado por familias:
| Familia | Significa | Ejemplo |
|---|---|---|
| 2xx | Éxito | 200 OK |
| 3xx | Redirección | 301 movido permanentemente |
| 4xx | Error del cliente | 404 no encontrado, 403 prohibido |
| 5xx | Error del servidor | 500 error interno |
Qué añade HTTPS
HTTPS es HTTP sobre una capa de cifrado llamada TLS (Transport Layer Security). Esa capa aporta tres garantías:
- Confidencialidad (cifrado). Todo lo que viaja va cifrado; quien intercepte la conexión —en una wifi pública, por ejemplo— no puede leerlo.
- Integridad. Si alguien altera los datos en el camino, se detecta: llegan intactos o no llegan.
- Autenticación del servidor. Un certificado confirma que el servidor es realmente el dueño de ese dominio, no un impostor.
Este es el malentendido más peligroso. El candado de HTTPS garantiza que la conexión está cifrada y que el sitio tiene un certificado válido para ese dominio —o sea, que nadie está espiando entre vos y el servidor, y que hablás con el dominio que aparece en la barra—. Lo que no garantiza es que el sitio sea honesto. Un sitio de phishing puede obtener un certificado gratis y mostrar candado. El candado protege el canal, no juzga el contenido.
Errores frecuentes
- Creer que el candado = sitio legítimo. Solo indica conexión cifrada y certificado válido para ese dominio, no honestidad.
- Confundir 404 con 500. 404 es «no existe ese recurso» (cliente); 500 es «el servidor falló».
- Usar GET para enviar datos sensibles. GET pide; para enviar datos va POST y siempre por HTTPS.
- Pensar que HTTP recuerda la sesión. Es sin estado; la sesión la sostienen cookies y tokens.
- Enviar datos por HTTP sin cifrar. Cualquiera en el camino los lee; hoy todo debe ir por HTTPS.
- Ignorar los 3xx. Las redirecciones son normales, pero un bucle de redirección rompe la carga.
- Creer que HTTPS oculta qué sitio visitás. Cifra el contenido, pero el dominio de destino puede ser visible.
Preguntas frecuentes
¿Qué es HTTP y cómo funciona?
HTTP, cuyas siglas corresponden a protocolo de transferencia de hipertexto, es el protocolo que hace funcionar la web, es decir, el conjunto de reglas que permiten que un navegador y un servidor se comuniquen y se entiendan. Su funcionamiento se basa en un modelo de petición y respuesta muy sencillo de comprender: el cliente, que normalmente es el navegador, siempre toma la iniciativa y envía una petición al servidor solicitando algo, como una página, una imagen o un dato, y el servidor procesa esa petición y devuelve una respuesta con el contenido solicitado o con una indicación de lo que ha ocurrido. Es importante notar que en este modelo el servidor nunca habla por su cuenta, sino que únicamente responde a lo que se le pide. Cada petición incluye un método que indica qué se quiere hacer, como recuperar un recurso o enviar datos, y cada respuesta incluye un código de estado que resume el resultado, como éxito, redirección o error. Una característica fundamental de HTTP es que es un protocolo sin estado, lo que significa que cada petición es independiente y el servidor no recuerda por sí mismo las peticiones anteriores del mismo cliente. Esto simplifica y hace escalable el protocolo, pero obliga a usar mecanismos adicionales, como las cookies, para mantener la continuidad de una sesión entre varias peticiones, por ejemplo para recordar que un usuario ha iniciado sesión mientras navega por distintas páginas de un mismo sitio.
¿Qué diferencia hay entre HTTP y HTTPS?
La diferencia entre HTTP y HTTPS es que HTTPS es HTTP con una capa de seguridad añadida mediante cifrado, mientras que HTTP transmite la información sin proteger. Técnicamente, HTTPS es el mismo protocolo HTTP, con su modelo de petición y respuesta y sus métodos y códigos de estado, pero envuelto en una capa de seguridad llamada TLS que protege toda la comunicación. Esa capa aporta tres garantías esenciales. La primera es la confidencialidad mediante cifrado: todo lo que viaja entre el navegador y el servidor va cifrado, de modo que si alguien intercepta la conexión, por ejemplo en una red wifi pública, no puede leer su contenido. La segunda es la integridad: se garantiza que los datos no puedan ser alterados durante el trayecto sin que se detecte, de manera que llegan intactos o no llegan. La tercera es la autenticación del servidor mediante un certificado, que confirma que el navegador se está comunicando realmente con el dominio que dice ser y no con un impostor que se hace pasar por él. Con HTTP sin cifrar, en cambio, cualquiera que se sitúe en el camino de la comunicación puede leer y potencialmente modificar todo lo que se transmite, incluidas contraseñas y datos personales, lo que resulta inaceptable para cualquier uso serio. Por esta razón, HTTPS se ha convertido en el estándar universal de la web, y hoy prácticamente todos los sitios lo utilizan, mostrando los navegadores advertencias cuando una conexión no está cifrada.
¿Qué significa realmente el candado del navegador?
El candado que muestra el navegador junto a la dirección de un sitio significa que la conexión con ese sitio está cifrada mediante HTTPS y que el sitio presenta un certificado válido para el dominio que aparece en la barra de direcciones. En otras palabras, el candado garantiza dos cosas concretas: que nadie situado en el camino de la comunicación puede leer ni alterar lo que se intercambia entre el navegador y el servidor, y que se está hablando efectivamente con el dominio que figura en la barra y no con un impostor que haya suplantado la conexión. Sin embargo, y esto es un malentendido muy extendido y peligroso, el candado no significa en absoluto que el sitio sea legítimo, honesto o de confianza. La razón es que obtener un certificado válido para un dominio se ha vuelto sencillo y gratuito, de modo que cualquiera, incluidos los responsables de sitios fraudulentos, puede conseguir uno para su propio dominio y mostrar el candado. Un sitio de phishing diseñado para robar credenciales puede tener perfectamente su candado y su conexión cifrada, porque el candado protege el canal de comunicación, pero no juzga ni verifica las intenciones ni la reputación de quien está al otro lado. Por eso, el candado debe interpretarse correctamente: indica que la conexión es segura y privada, pero la decisión de confiar en un sitio debe basarse en otros factores, como comprobar cuidadosamente que el dominio es exactamente el correcto y no una imitación, y aplicar las precauciones habituales frente al phishing.
¿Qué son los códigos de estado HTTP?
Los códigos de estado HTTP son números de tres cifras que el servidor incluye en cada respuesta para indicar de forma resumida qué ha ocurrido con la petición del cliente. Se organizan en familias según su primera cifra, lo que facilita interpretarlos de un vistazo. Los códigos que empiezan por dos indican éxito, es decir, que la petición se procesó correctamente, siendo el más común el doscientos, que significa que todo ha ido bien y se devuelve el contenido solicitado. Los que empiezan por tres indican redirección, es decir, que el recurso solicitado está en otra ubicación y el navegador debe ir a buscarlo allí, algo habitual cuando una página cambia de dirección. Los que empiezan por cuatro indican un error del lado del cliente, es decir, que hubo algún problema con la petición en sí; el más conocido es el cuatrocientos cuatro, que significa que el recurso solicitado no se ha encontrado, y otro frecuente es el que indica que el acceso está prohibido. Los que empiezan por cinco indican un error del lado del servidor, es decir, que la petición era válida pero el servidor no pudo procesarla por un fallo interno; el ejemplo típico es el quinientos. Conocer estas familias es muy útil tanto para navegar como, sobre todo, para desarrollar y diagnosticar, porque el código de estado dice inmediatamente de qué lado está el problema: un error de la familia cuatrocientos apunta a la petición o al cliente, mientras que uno de la familia quinientos apunta a un fallo del servidor, lo que orienta enseguida hacia dónde investigar.
¿Por qué se dice que HTTP es sin estado?
Se dice que HTTP es sin estado porque cada petición que llega al servidor se trata de forma completamente independiente, sin que el servidor conserve, por sí mismo y por defecto, ningún recuerdo de las peticiones anteriores del mismo cliente. Dicho de otro modo, el protocolo no mantiene una memoria de la conversación: cada vez que el navegador pide algo, es como si el servidor lo atendiera por primera vez, sin saber qué pidió antes ni si es el mismo usuario que hizo una petición previa. Este diseño tiene ventajas importantes, ya que simplifica enormemente el protocolo y permite que los servidores atiendan cantidades masivas de peticiones de muchos clientes sin tener que almacenar y gestionar el contexto de cada uno, lo que favorece la escalabilidad. Sin embargo, plantea un desafío evidente, porque muchas funciones de la web requieren precisamente recordar el contexto entre peticiones, como mantener a un usuario con la sesión iniciada mientras navega por distintas páginas, conservar el contenido de un carrito de compra, o recordar preferencias. La solución a este desafío no está en el protocolo HTTP en sí, sino en mecanismos construidos por encima de él que transportan la información de contexto de una petición a otra. El más conocido es la cookie, un pequeño dato que el servidor entrega al navegador y que este devuelve en las peticiones siguientes, permitiendo así que el servidor reconozca al cliente y recupere su sesión. También se usan tokens con un propósito similar. De este modo se combina la simplicidad de un protocolo sin estado con la capacidad de ofrecer experiencias que sí recuerdan el contexto.
¿HTTPS oculta qué páginas visito?
HTTPS cifra el contenido de la comunicación, pero no oculta por completo qué sitios se visitan, y entender este matiz es importante para tener expectativas realistas sobre la privacidad. Lo que HTTPS protege con su cifrado es el contenido concreto de las páginas y los datos que se intercambian: las palabras de una página, los datos de un formulario, las credenciales, las rutas específicas dentro del sitio y demás información viajan cifradas y no pueden ser leídas por quien intercepte la conexión. Sin embargo, hay cierta información que, dependiendo de la configuración de la red y de las tecnologías empleadas, puede seguir siendo visible para observadores en el camino, en particular el nombre del dominio del sitio con el que se está estableciendo la comunicación. Esto se debe a que ciertas partes del proceso de establecer la conexión y de la resolución previa del nombre pueden revelar a qué dominio se conecta el usuario, aunque no qué páginas concretas dentro de él consulta ni qué datos intercambia. Por tanto, un observador como el proveedor de internet o alguien en la misma red podría llegar a saber que se ha visitado un determinado dominio, pero no el detalle de la actividad dentro de él. Existen tecnologías y configuraciones más recientes orientadas a cifrar también esa información del nombre para mejorar la privacidad, pero su disponibilidad depende del entorno. Para ocultar de forma más completa qué sitios se visitan frente a observadores locales o el proveedor, se recurre a herramientas adicionales como las redes privadas virtuales, que enrutan y cifran todo el tráfico a través de un intermediario.
Fuentes
Documentación oficial y material de la comunidad consultados para esta guía. Fecha de consulta: 28 de julio de 2026.
Aportes de la comunidad Underc0de
- Underc0de, foro. Sección Redes. Protocolos web.
- Underc0de, foro. Sección Desarrollo web. HTTP en la práctica.
Documentación oficial
- IETF. RFC 9110: HTTP Semantics. La especificación de HTTP.
- MDN. HTTP. Documentación de referencia.
- MDN. Códigos de estado HTTP. Lista y significado.
- IETF. RFC 8446: TLS 1.3. El protocolo de cifrado de HTTPS.