What is HTTP?

The Hypertext Transfer Protocol is used to load pages on the Internet using hyperlinks.

Objetivos de aprendizaje

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

  • Define HTTP
  • Describe the anatomy of HTTP requests and responses
  • Understand how DDoS attacks can be launched over HTTP

Copiar enlace del artículo

¿Qué es HTTP?

El Protocolo de transferencia de hipertexto (HTTP) es la base de la World Wide Web, y se utiliza para cargar páginas web con enlaces de hipertexto. HTTP es un protocolo de la capa de aplicación diseñado para transferir información entre dispositivos en red, y se ejecuta sobre otras capas de la pila de protocolos de red. Un flujo típico a través de HTTP implica que una máquina cliente realice una solicitud a un servidor, que luego envía un mensaje de respuesta.

¿Qué hay en 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. tipo de versión de HTTP
  2. una URL
  3. un método HTTP
  4. encabezados de solicitud HTTP
  5. 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.

¿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 de HTTP contienen información de texto almacenada en pares clave-valor, y se incluyen en cada solicitud HTTP (y respuesta, más adelante). Estos encabezados comunican información básica, como el navegador que utiliza el cliente y los datos que se solicitan.

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

¿Qué hay en el cuerpo de una 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é hay en 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. Vamos a desglosarlas:

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

    Los códigos de estado HTTP son códigos de 3 dígitos que se utilizan con mayor frecuencia 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" hace 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 ha habido un error y que no se mostrará la página web. Un código de estado que empieza con un '4' indica un error del lado del cliente (es muy común encontrar un código de estado '404 NO ENCONTRADO' cuando escribe mal una URL). Un código de estado que empieza con '5' significa que algo ha ido mal en el lado del servidor. Los códigos de estado también pueden empezar con un "1" o un "3", que indican una respuesta informativa y una redirección respectivamente.

      ¿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:

      ¿Qué hay en el cuerpo de una respuesta HTTP?

      Las respuestas HTTP satisfactorias a las peticiones "GET" suelen tener un cuerpo con la información solicitada. En la mayoría de las solicitudes web, se trata de datos HTML que el navegador traducirá 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 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.

Ventas