¿Qué es HTTP?

El protocolo de transferencia de hipertexto se utiliza para cargar páginas en Internet mediante hiperenlaces.

Objetivos de aprendizaje

Después de leer este artículo podrás:

  • Definir HTTP
  • Describir la anatomía de las solicitudes y respuestas HTTP
  • Comprender cómo los ataques DDoS se pueden lanzar sobre HTTP

Contenido relacionado


¿Quieres saber más?

Suscríbase a theNET, el resumen mensual de Cloudflare sobre las ideas más populares de Internet.

Revisa la política de privacidad de Cloudflare para saber más sobre cómo Cloudflare gestiona tus datos personales.

Copiar enlace del artículo

¿Qué es HTTP?

El protocolo de transferencia de hipertexto (HTTP) constituye los cimientos de la red mundial, y se utiliza para cargar páginas web mediante enlaces de hipertexto. HTTP es un protocolo de capa de aplicación diseñado para transferir información entre los dispositivos conectados de la red, y se ejecuta sobre otras capas del conjunto de protocolos de la red. Un flujo típico sobre HTTP implica una máquina cliente que realiza una solicitud a un servidor, que a continuación envía un mensaje de respuesta.

¿Qué es una solicitud HTTP?

Una solicitud HTTP es la forma en que las plataformas de comunicación de Internet, como los navegadores web, piden la información que necesitan para cargar un sitio web.

Cada solicitud HTTP realizada por Internet lleva consigo una serie de datos codificados que contienen diferentes tipos de información. Una solicitud HTTP típica contiene:

  1. el tipo de versión de HTTP
  2. una URL
  3. un método HTTP
  4. encabezados de solicitud HTTP
  5. Un cuerpo HTTP opcional.

Profundicemos en el funcionamiento de estas solicitudes y en cómo se puede utilizar el contenido de una solicitud para compartir información.

Informe
Situación actual de las amenazas DDoS: 3er trimestre de 2023

Informe
Consulta el informe sobre el panorama de las amenazas DDoS en el 4º trimestre de 2023

¿Qué es un método HTTP?

Un método HTTP, a veces denominado verbo HTTP, indica la acción que la solicitud HTTP espera del servidor consultado. Por ejemplo, dos de los métodos HTTP más comunes son "GET" y "POST"; una solicitud "GET" espera que se le devuelva información (normalmente en forma de página web), mientras que una solicitud "POST" suele indicar que el cliente está enviando información al servidor web (como información de un formulario, por ejemplo, un nombre de usuario y una contraseña enviados).

¿Qué son los encabezados de solicitud HTTP?

Los encabezados HTTP contienen información de texto almacenada en pares clave-valor, y se incluyen en cada solicitud HTTP (y en la respuesta, sobre lo que hablaremos más adelante). Estos encabezados comunican información básica, como por ejemplo qué navegador utiliza el cliente y qué datos solicita.

Ejemplo de encabezados de solicitud HTTP de la pestaña de red de Google Chrome:

encabezados de solicitud HTTP

Protección contra DDoS
Consigue protección contra DDoS en todos los planes de Cloudflare

¿Qué es un cuerpo de solicitud HTTP?

El cuerpo de una solicitud es la parte que contiene el "cuerpo" de la información que está transfiriendo la solicitud. El cuerpo de una solicitud HTTP contiene toda la información que se envía al servidor web, como un nombre de usuario y una contraseña, o cualquier otro dato introducido en un formulario.

¿Qué es una respuesta HTTP?

Una respuesta HTTP es lo que los clientes web (normalmente los navegadores) reciben de un servidor de Internet en respuesta a una solicitud HTTP. Estas respuestas comunican información valiosa basada en lo que se pidió en la solicitud HTTP.

Una respuesta HTTP típica contiene:

  1. un código de estado HTTP
  2. encabezados de respuesta HTTP
  3. cuerpo de HTTP opcional
  4. Desglosemos estos elementos:

    ¿Qué es un código de estado HTTP?

    Los códigos de estado HTTP son códigos de 3 dígitos que se suelen utilizar para indicar si una solicitud HTTP se ha completado con éxito. Los códigos de estado se dividen en los siguientes 5 bloques:

    1. 1xx Informativo
    2. 2xx Éxito
    3. 3xx Redirección
    4. Errores de cliente 4xx
    5. 5xx Error del servidor
    6. Las "xx" hacen referencia a diferentes números entre 00 y 99.

      Los códigos de estado que empiezan por el número "2" indican que la solicitud se ha realizado correctamente. Por ejemplo, después de que un cliente solicite una página web, las respuestas más habituales tienen un código de estado "200 OK", que indica que la solicitud se ha completado correctamente.

      Si la respuesta empieza con un "4" o un "5", significa que se ha producido un error y que la página web no se mostrará. Un código de estado que empieza con un "4" indica un error del lado del cliente (es muy habitual encontrarse un código de estado "404 NOT FOUND’ cuando cometemos un error tipográfico al escribir una URL). Un código de estado que empieza con un "5" indica que algo ha fallado en el lado del servidor. Los códigos de estado también pueden empezar con un "1" o un "3", que indican, respectivamente, una respuesta informativa y una redirección.

      ¿Qué son los encabezados de respuesta HTTP?

      Al igual que una solicitud HTTP, una respuesta HTTP viene con encabezados que transmiten información importante, como el idioma y el formato de los datos que se envían en el cuerpo de la respuesta.

      Ejemplo de encabezados de respuesta HTTP de la pestaña de red de Google Chrome:

      encabezados de respuesta HTTP

      ¿Qué es un cuerpo de respuesta HTTP?

      Las respuestas HTTP correctas a solicitudes "GET" normalmente tienen un cuerpo que contiene la información solicitada. En la mayoría de las solicitudes web, son los datos HTML que un navegador web convertirá en una página web.

      ¿Se pueden lanzar ataques DDoS a través de HTTP?

      Ten en cuenta que HTTP es un protocolo "sin estado", lo que significa que cada comando se ejecuta independientemente de cualquier otro comando. En la especificación original, las solicitudes HTTP creaban y cerraban cada una conexión TCP. En las versiones más recientes del protocolo HTTP (HTTP 1.1 y superiores), la conexión persistente permite que varias solicitudes HTTP pasen por una conexión TCP persistente, lo cual mejora el consumo de recursos. En el contexto de los ataques DoS o DDoS, las solicitudes HTTP en grandes cantidades pueden utilizarse para montar un ataque contra un dispositivo objetivo, y se consideran parte de los ataques a la capa de aplicación o a la capa 7.