Sobes.tech
Junior

¿De qué componentes consta una solicitud HTTP?

sobes.tech AI

Respuesta de la IA

La solicitud HTTP consta de los siguientes componentes:

  1. Línea de inicio (Request Line): Define el tipo de solicitud y el recurso. Consiste en:

    • Método HTTP (HTTP Method): La acción que se debe realizar sobre el recurso (por ejemplo, GET, POST, PUT, DELETE).
    • Ruta del recurso (Path): La URL del recurso solicitado en el servidor.
    • Versión HTTP (HTTP Version): La versión del protocolo HTTP utilizada para la solicitud (por ejemplo, HTTP/1.1, HTTP/2.0).
    // Ejemplo de línea de inicio
    GET /index.html HTTP/1.1
    
  2. Encabezados de la solicitud (Request Headers): Proporcionan información adicional sobre el cliente, la solicitud o el recurso. Los parámetros del encabezado se presentan en formato "Nombre: Valor". Encabezados principales:

    • Host: El nombre de dominio del servidor.
    • User-Agent: Información sobre el cliente (navegador, SO).
    • Accept: Tipos de medios que el cliente está dispuesto a aceptar.
    • Content-Type: Tipo de medio del contenido del cuerpo de la solicitud (para métodos PUT, POST).
    • Content-Length: La longitud del cuerpo de la solicitud en bytes.
    • Authorization: Credenciales para la autenticación.
    // Ejemplos de encabezados de solicitud
    Host: www.ejemplo.com
    User-Agent: Mozilla/5.0
    Accept: text/html
    
  3. Línea vacía (Empty Line): Separa los encabezados de la solicitud y el cuerpo de la solicitud. Es obligatoria, incluso si no hay cuerpo.

  4. Cuerpo de la solicitud (Request Body): Contiene datos enviados al servidor, como datos de formulario, JSON para solicitudes POST/PUT. No está presente en todos los métodos (por ejemplo, no en GET).

    // Ejemplo de cuerpo de solicitud (para POST/PUT)
    {
      "name": "John Doe",
      "age": 30
    }
    

De manera esquemática, la estructura de una solicitud HTTP se puede representar así:

Componente Descripción Obligatorio
Línea de inicio Método, ruta del recurso, versión HTTP Siempre
Encabezados de la solicitud Información adicional sobre la solicitud/el cliente Opcional
Línea vacía Separador Siempre
Cuerpo de la solicitud Datos enviados al servidor Opcional