Saltar la navegación

Mensajes HTTP: La solicitud

La solicitud HTTP (o HTTP Request), denominada también petición HTTP, es un mensaje que el Cliente envía al Servidor.

A continuación se presenta un ejemplo de este mensaje HTTP. Estudiemos su estructura:

Estructura de HTTP Request
Petición HTTP
Carlos Iñiguez (Dominio público)

El mensaje está formato por dos partes: línea de inicio (línea 1 conformada por método, path y versión de HTTP) y cabeceras (o headers, en inglés) (zona conformada por las línea 2 y 3 donde cada línea es una cabecera). No te preocupes por entender el texto de cada cabecera, eso ya lo veremos a fondo en una sección posterior. Como lo habrás notado, este mensaje HTTP no tiene cuerpo.

Línea de inicio

Esta línea está conformada por:

  • El método:  En nuestro ejemplo, la palabra GET es un método/comando de HTTP que significa “Obtener”
  • Path (o ruta): camino o path del recurso (hipertexto) que se desea "obtener". En el ejemplo, “/mipagina.html”
  • Versión del protocolo: especifica la versión del protocolo HTTP utilizado. En el ejemplo: versión 1.1 de HTTP

De esta manera, si unimos todo, la primera línea se puede traducir en "Oye servidor, necesito obtener la página con el nombre mipagina.html y para esto, quiero que sepas que te hago la solicitud usando el protocolo HTTP en versión 1.1"

Cabecera de Petición

Las líneas 2 y 3 son las cabeceras. Una cabecera es información adicional acerca de la conexión que es enviada al servidor. Existe una gran variedad de cabeceras, sin embargo, hablaremos más a fondo sobre las cabeceras en una lección posterior. Por el momento, lo que nos interesa es al menos saber cuáles son las cabeceras de nuestro ejemplo.

  • La cabecera Host (línea 2) indica el nombre del servidor hacia donde se envía la petición,
  • La cabecera Accept-Language (línea 3) indica el idioma aceptado por el Cliente, en este caso español.

Nota: Es importante notar que, aunque no se lo puede ver, el mensaje (petición HTTP) termina con un espacio en blanco. En nuestro ejemplo, después de la cabecera Accept-Language existe un espacio en blanco.