Protocolo de transferencia de hipertexto para niños
Datos para niños Protocolo de transferencia de hipertexto |
||||||||
---|---|---|---|---|---|---|---|---|
![]() |
||||||||
Familia | Familia de protocolos de Internet | |||||||
Función | Transferencia de hipertexto | |||||||
Última versión | 3.0 (2018) | |||||||
Puertos | 80/TCP | |||||||
Ubicación en la pila de protocolos | ||||||||
|
||||||||
Estándares | ||||||||
Original HTTP (HTTP/0.9, 1991) RFC 1945 (HTTP/1.0, 1996) RFC 2616 (HTTP/1.1, 1999) RFC 2774 (HTTP/1.2, 2000) RFC 7230, RFC 7231, RFC 7232, RFC 7233, RFC 7234, RFC 7235 (revisión de HTTP/1.1, 2014) RFC 7540 (HTTP/2, 2015) Hypertext Transfer Protocol Version 3 (HTTP/3, 2018) (Borrador de Internet) |
||||||||
El Protocolo de Transferencia de Hipertexto (conocido como HTTP, por sus siglas en inglés Hypertext Transfer Protocol) es como el "idioma" que usan los ordenadores para comunicarse en la World Wide Web. Permite que la información, como las páginas web que visitas, se mueva de un lugar a otro en Internet.
Este protocolo fue creado por el World Wide Web Consortium y la Internet Engineering Task Force. Gracias a su trabajo, en 1999 se publicó una serie de documentos llamados RFC, siendo el más importante el RFC 2616, que describe la versión 1.1 de HTTP. HTTP establece las reglas sobre cómo los programas (como tu navegador o los servidores web) deben hablar entre sí.
HTTP es un protocolo "sin estado". Esto significa que no recuerda lo que pasó en conexiones anteriores. Para que las aplicaciones web puedan "recordar" cosas, como tu sesión de usuario, se usan las cookies. Las cookies son pequeños archivos de información que un servidor puede guardar en tu ordenador. Así, las páginas web pueden saber quién eres o qué has hecho antes.

Contenido
¿Cómo funciona HTTP?
HTTP funciona como una conversación de "pregunta y respuesta" entre dos partes: un cliente y un servidor.
- El cliente es el programa que usas para navegar por Internet, como tu navegador web. También puede ser un programa que busca información en la web, como las "arañas web" que usan los buscadores.
- El servidor es un ordenador que guarda las páginas web y otros archivos. Cuando el cliente pide algo, el servidor se lo envía.
El cliente envía un mensaje con una petición al servidor. Luego, el servidor le envía un mensaje de respuesta.
¿Qué son los mensajes HTTP?
Los mensajes HTTP son como cartas que se envían el cliente y el servidor. Están escritos en texto simple, lo que los hace fáciles de entender. Sin embargo, esto también hace que los mensajes sean un poco más largos.
Cada mensaje tiene una estructura específica:
- Línea inicial: Es la primera línea del mensaje.
* Si es una petición, dice qué acción se quiere hacer (como "GET" para pedir una página), la dirección de lo que se busca (URL) y la versión de HTTP que usa el cliente. * Si es una respuesta, dice la versión de HTTP que usa el servidor, un código que indica si la petición salió bien o no, y una frase corta que explica el código.
- Cabeceras: Son como el "asunto" o la "información adicional" de la carta. Dan detalles importantes sobre el mensaje o lo que se pide. Terminan con una línea en blanco.
- Cuerpo del mensaje: Es la parte principal, donde va la información que se intercambia. Por ejemplo, si pides una página web, el cuerpo de la respuesta contendrá el código HTML de esa página. Esta parte es opcional.
¿Qué son los métodos de petición?

Los métodos de petición son como las "acciones" que un cliente le pide al servidor que realice sobre un recurso (como una página web o un archivo). Algunos de los métodos más comunes son:
- GET: Se usa para pedir información al servidor, como una página web. Es como decir: "Quiero ver esto".
- HEAD: Es similar a GET, pero solo pide la información de las cabeceras, no el contenido completo. Es útil para saber si una página existe o su tamaño sin descargarla toda.
- POST: Se usa para enviar datos al servidor, por ejemplo, cuando rellenas un formulario en una página web o publicas un comentario en un foro.
- PUT: Envía datos al servidor para crear o actualizar un recurso específico.
- DELETE: Se usa para borrar un recurso del servidor.
- OPTIONS: Pregunta al servidor qué métodos de petición están permitidos para una dirección específica.
- CONNECT: Se usa para establecer una conexión especial, a menudo para comunicaciones seguras como las que usan SSL/TLS.
- TRACE: Ayuda a los desarrolladores a ver cómo viaja un mensaje a través de la red.
- PATCH: Se usa para actualizar solo una parte de un recurso, no el recurso completo.
Algunos métodos son considerados "seguros" porque no cambian nada en el servidor (solo leen información). Otros son "idempotentes" si hacer la misma petición varias veces tiene el mismo resultado que hacerla una sola vez.
Método | RFC | La petición tiene carga útil | La respuesta tiene carga útil | Seguro | Idempotente | Cacheable |
---|---|---|---|---|---|---|
GET | RFC 9110 | Opcional | Sí | Sí | Sí | Sí |
HEAD | RFC 9110 | Opcional | No | Sí | Sí | Sí |
POST | RFC 9110 | Sí | Sí | No | No | Sí |
PUT | RFC 9110 | Sí | Sí | No | Sí | No |
DELETE | RFC 9110 | Opcional | Sí | No | Sí | No |
CONNECT | RFC 9110 | Opcional | Sí | No | No | No |
OPTIONS | RFC 9110 | Opcional | Sí | Sí | Sí | No |
TRACE | RFC 9110 | No | Sí | Sí | Sí | No |
PATCH | RFC 5789 | Sí | Sí | No | No | No |
¿Qué son los códigos de respuesta?
Cuando un servidor responde a una petición HTTP, siempre envía un código de respuesta. Este código es un número de tres cifras que indica el resultado de la petición. Por ejemplo, el código "200 OK" significa que todo salió bien.
Los códigos se agrupan por centenas para indicar el tipo de respuesta:
- 1xx (Información): La petición se está procesando.
- 2xx (Éxito): La petición se completó correctamente.
- 3xx (Redirección): Necesitas ir a otra dirección para encontrar lo que buscas.
- 4xx (Error del cliente): Hay un problema con tu petición (por ejemplo, "404 Not Found" significa que la página no existe).
- 5xx (Error del servidor): Hay un problema en el servidor.
¿Qué son las cabeceras HTTP?
Las cabeceras son como las notas adicionales que se adjuntan a los mensajes HTTP. Contienen información importante sobre la petición o la respuesta. Por ejemplo, pueden indicar el tipo de contenido que se envía (como texto HTML o una imagen) o el idioma preferido.
Las cabeceras son muy útiles porque permiten añadir nuevas funciones al protocolo sin cambiar su base. Por eso, a lo largo de las diferentes versiones de HTTP, se han añadido muchas más cabeceras.
Algunos ejemplos de cabeceras son:
- `Content-Type`: Dice qué tipo de archivo es (por ejemplo, una página web o una imagen).
- `User-Agent`: Identifica el navegador o programa que está haciendo la petición.
- `Cookie`: Contiene la información de las cookies que el navegador envía al servidor.
- `Set-Cookie`: El servidor usa esta cabecera para enviar nuevas cookies al navegador.
Un ejemplo de cómo funciona HTTP
Imagina que quieres ver la página web `http://www.example.com/index.html`. Esto es lo que ocurre:
1. Tu navegador se conecta al servidor `www.example.com` usando el puerto 80 (que es el puerto estándar para HTTP). 2. Tu navegador envía un mensaje de petición al servidor, que se ve algo así:
GET /index.html HTTP/1.1 Host: www.example.com Referer: www.google.com User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Firefox/45.0 Connection: keep-alive [Línea en blanco]
3. El servidor recibe la petición y, si todo está bien, envía una respuesta como esta:
HTTP/1.1 200 OK Date: Fri, 31 Dec 2003 23:59:59 GMT Content-Type: text/html Content-Length: 1221 <html lang="eo"> <head> <meta charset="utf-8"> <title>Título del sitio</title> </head> <body> <h1>Página principal de tuHost</h1> (Contenido de la página web) . . . </body> </html>
El servidor primero envía las cabeceras de respuesta (como "200 OK" y el tipo de contenido) y luego el contenido de la página web (el código HTML).
Evolución de HTTP: Sus versiones
HTTP ha tenido varias versiones a lo largo del tiempo, y muchas de ellas son compatibles entre sí. El cliente le dice al servidor qué versión usa, y el servidor responde usando esa misma versión o una anterior.
- HTTP 0.9 (1991): Fue la primera versión. Solo permitía pedir información (método GET) y no usaba cabeceras. Ya no se usa mucho.
- HTTP 1.0 (1996): Esta versión ya permitía los métodos GET, HEAD y POST. Fue un gran avance.
- HTTP 1.1 (1999): Es la versión más usada hoy en día. Permite que las conexiones se mantengan abiertas para enviar varias peticiones seguidas, lo que hace que la navegación sea más rápida.
- HTTP/2 (2015): Esta versión no cambió cómo funciona HTTP a nivel básico, sino cómo se envían los datos. Por ejemplo, usa una sola conexión para varias cosas y comprime las cabeceras para que todo sea más rápido. Los navegadores modernos lo usan, especialmente con conexiones seguras (HTTPS).
- HTTP/3 (2018): Es la versión más reciente. A diferencia de las anteriores que usaban TCP, HTTP/3 usa un protocolo llamado UDP para enviar datos. Esto puede hacer que las conexiones sean aún más rápidas y estables, especialmente en redes con problemas. Navegadores como Chrome y Firefox ya lo soportan.
|
Véase también
En inglés: Hypertext Transfer Protocol Facts for Kids