Respuestas HTTP

Una respuesta HTTP la realiza un servidor a un cliente. El objetivo de la respuesta es proporcionar al cliente el recurso que ha solicitado, o informar al cliente de que se ha llevado a cabo la acción que ha solicitado; o bien informar al cliente de que se ha producido un error al procesar su solicitud.

Una respuesta HTTP contiene:
  1. Una línea de estado.
  2. Una serie de cabeceras HTTP o campos de cabecera.
  3. Un cuerpo de mensaje, que suele ser necesario.
Al igual que en un mensaje de solicitud, cada encabezado HTTP va seguido de un salto de línea de retorno de carro (CRLF). Después de la última de las cabeceras HTTP, se utiliza un CRLF adicional (para dar una línea vacía) y, a continuación, comienza el cuerpo del mensaje.

Línea de estado

La línea de estado es la primera línea del mensaje de respuesta. Consta de tres elementos:
  1. El número de versión HTTP, que muestra la especificación HTTP que el servidor ha intentado que cumpla el mensaje.
  2. Un código de estado, que es un número de tres dígitos que indica el resultado de la solicitud.
  3. Una frase de razón, también conocida como texto de estado, que es texto legible por el usuario que resume el significado del código de estado.
Un ejemplo de una línea de respuesta es:
HTTP/1.1 200 OK
En este ejemplo:
  • la versión HTTP es HTTP/1.1
  • el código de estado es 200
  • la frase de razón es OK

Códigos de estado y frases de razón explica más sobre estos elementos de la línea de estado.

cabeceras HTTP

Las cabeceras HTTP de la respuesta de un servidor contienen información que un cliente puede utilizar para saber más sobre la respuesta y sobre el servidor que la envió. Esta información puede ayudar al cliente a visualizar la respuesta a un usuario, a almacenar (o almacenar en memoria caché) la respuesta para su uso futuro y a realizar más solicitudes al servidor ahora o en el futuro. En el caso de una solicitud no satisfactoria, las cabeceras se pueden utilizar para indicar al cliente lo que debe hacer para completar su solicitud correctamente.

Se coloca una línea vacía (es decir, sólo un CRLF) en el mensaje de respuesta después de la serie de cabeceras HTTP, para dividir las cabeceras del cuerpo del mensaje.

Cuerpo de mensaje

El cuerpo del mensaje de una respuesta puede ser referido por conveniencia como un cuerpo de respuesta.

Los cuerpos de mensaje se utilizan para la mayoría de las respuestas. Las excepciones son aquellas en las que un servidor está respondiendo a una solicitud de cliente que ha utilizado el método HEAD (que solicita las cabeceras pero no el cuerpo de la respuesta), y en las que un servidor está utilizando determinados códigos de estado.

Para obtener una respuesta a una solicitud satisfactoria, el cuerpo del mensaje contiene el recurso solicitado por el cliente o alguna información sobre el estado de la acción solicitada por el cliente. Para obtener una respuesta a una solicitud no satisfactoria, el cuerpo del mensaje puede proporcionar información adicional sobre las razones del error, o sobre alguna acción que el cliente debe realizar para completar la solicitud correctamente.