HTTP
Respuestas HTTP
Buscar..
Parámetros
Código de estado | Razón-Frase - Descripción |
---|---|
100 | Continuar : el cliente debe enviar la siguiente parte de una solicitud de varias partes. |
101 | Protocolos de conmutación : el servidor está cambiando la versión o el tipo de protocolo utilizado en esta comunicación. |
200 | OK - el servidor ha recibido y completado la solicitud del cliente. |
201 | Creado : el servidor ha aceptado la solicitud y ha creado un nuevo recurso, que está disponible bajo el URI en el encabezado Location . |
202 | Aceptado : el servidor ha recibido y aceptado la solicitud del cliente, pero aún no ha iniciado o completado el procesamiento. |
203 | Información no autorizada : el servidor está devolviendo datos que pueden ser un subconjunto o superconjunto de la información disponible en el servidor original. Utilizado principalmente por los proxies. |
204 | Sin contenido : se utiliza en lugar de 200 (OK) cuando no hay cuerpo en la respuesta. |
205 | Restablecer contenido : idéntico a 204 (Sin contenido), pero el cliente debe volver a cargar la vista de documento activa. |
206 | Contenido parcial : se usa en lugar de 200 (OK) cuando el cliente solicitó un encabezado de Range . |
300 | Opciones múltiples : el recurso solicitado está disponible en varios URI, y el cliente debe redirigir la solicitud a un URI especificado en la lista en el cuerpo del mensaje. |
301 | Movido permanentemente : el recurso solicitado ya no está disponible en este URI, y el cliente debe redirigir esta y todas las solicitudes futuras al URI especificado en el encabezado de la Location . |
302 | Encontrado : el recurso reside temporalmente en un URI diferente. Esta solicitud debe redirigirse en la confirmación del usuario al URI en el encabezado de la Location , pero las solicitudes futuras no deben modificarse. |
303 | Consulte Otros : muy similar a 302 (Encontrado), pero no requiere la entrada del usuario para redirigir al URI proporcionado. El URI proporcionado se debe recuperar con una solicitud GET. |
304 | No modificado : el cliente envió un encabezado If-Modified-Since o similar, y el recurso no se ha modificado desde ese punto; el cliente debe mostrar una copia en caché del recurso. |
305 | Usar proxy : el recurso solicitado debe solicitarse nuevamente a través del proxy especificado en el campo Encabezado de Location . |
307 | Redireccionamiento temporal : idéntico a 302 (Encontrado), pero los clientes HTTP 1.0 no admiten 307 respuestas. |
400 | Solicitud incorrecta : el cliente envió una solicitud con formato incorrecto que contiene errores de sintaxis y debe modificar la solicitud para corregirla antes de repetirla. |
401 | No autorizado : el recurso solicitado no está disponible sin autenticación. El cliente puede repetir la solicitud utilizando un encabezado de Authorization para proporcionar detalles de autenticación. |
402 | Pago requerido : código de estado reservado y no especificado para que lo utilicen las aplicaciones que requieren suscripciones de usuarios para ver el contenido. |
403 | Prohibido : el servidor entiende la solicitud, pero se niega a cumplirla debido a los controles de acceso existentes. La solicitud no debe repetirse. |
404 | No encontrado : no hay ningún recurso disponible en este servidor que coincida con el URI solicitado. Puede usarse en lugar de 403 para evitar exponer los detalles del control de acceso. |
405 | Método no permitido : el recurso no admite el método de solicitud (verbo HTTP); el encabezado Allow enumera los métodos de solicitud aceptables. |
406 | No aceptable : el recurso tiene características que violan los encabezados de aceptación enviados en la solicitud. |
407 | Se requiere autenticación de proxy - similar a 401 (no autorizado), pero indica que el cliente primero debe autenticar con el proxy intermedio. |
408 | Tiempo de espera de solicitud : el servidor esperaba otra solicitud del cliente, pero ninguna se proporcionó dentro de un período de tiempo aceptable. |
409 | Conflicto : la solicitud no se pudo completar porque estaba en conflicto con el estado actual del recurso. |
410 | Desaparecido : similar a 404 (No encontrado), pero indica una eliminación permanente. No hay dirección de reenvío disponible. |
411 | Longitud requerida : el cliente no especificó un encabezado de Content-Length válido, y debe hacerlo antes de que el servidor acepte esta solicitud. |
412 | Condición fallida : el recurso no está disponible con todas las condiciones especificadas por los encabezados condicionales enviados por el cliente. |
413 | Solicitud de entidad demasiado grande : el servidor no puede procesar un cuerpo del mensaje de la longitud que envió el cliente. |
414 | El URI de solicitud es demasiado largo : el servidor rechaza la solicitud porque el URI de solicitud es más largo de lo que el servidor está dispuesto a interpretar. |
415 | Tipo de medio no admitido : el servidor no admite el MIME o el tipo de medio especificado por el cliente y no puede atender esta solicitud. |
416 | Intervalo solicitado no satisfactorio : el cliente solicitó un rango de bytes, pero el servidor no puede proporcionar contenido a esa especificación. |
417 | Expectativa fallida : las restricciones especificadas por el cliente en el encabezado Expect que el servidor no puede cumplir. |
500 | Error interno del servidor : el servidor cumplió con una condición o error inesperado que le impide completar esta solicitud. |
501 | No implementado : el servidor no admite la funcionalidad requerida para completar la solicitud. Generalmente se usa para indicar un método de solicitud que no es compatible con ningún recurso. |
502 | Puerta de enlace incorrecta : el servidor es un proxy y recibió una respuesta no válida del servidor ascendente al procesar esta solicitud. |
503 | Servicio no disponible : el servidor está bajo una carga alta o está en mantenimiento, y no tiene la capacidad de atender esta solicitud en este momento. |
504 | Tiempo de espera de la puerta de enlace : el servidor es un proxy y no recibió una respuesta del servidor ascendente de manera oportuna. |
505 | Versión HTTP no admitida : el servidor no admite la versión del protocolo HTTP con el que el cliente realizó su solicitud. |
Formato de respuesta basico
Cuando un servidor HTTP recibe una solicitud HTTP bien formada, debe procesar la información que contiene la solicitud y devolver una respuesta al cliente. Una simple respuesta HTTP 1.1, puede parecerse a cualquiera de las siguientes, generalmente seguida de una cantidad de campos de encabezado, y posiblemente un cuerpo de respuesta:
HTTP/1.1 200 OK \r\n
HTTP/1.1 404 Not Found \r\n
HTTP/1.1 503 Service Unavailable \r\n
Una simple respuesta HTTP 1.1 tiene este formato:
HTTP-Version Status-Code Reason-Phrase CRLF
Al igual que en una petición, HTTP-Version
indica la versión del protocolo HTTP en uso; para HTTP 1.1, esta debe ser siempre la cadena HTTP/1.1
.
Status-Code
es un código de tres dígitos que indica el estado de la solicitud del cliente. El primer dígito de este código es la clase de estado , que coloca el código de estado en una de las 5 categorías de respuesta [1] :
-
1xx
Informativo : el servidor ha recibido la solicitud y el proceso continúa -
2xx
Success - el servidor ha aceptado y procesado la solicitud - Redireccionamiento
3xx
: es necesaria una acción adicional por parte del cliente para completar la solicitud -
4xx
Errores de cliente : el cliente envió una solicitud con un formato incorrecto o que no se pudo cumplir -
5xx
Errores del servidor : la solicitud era válida, pero el servidor no puede cumplirla en este momento
Reason-Phrase
es una breve descripción del código de estado. Por ejemplo, el código 200
tiene una frase de razón de OK
; El código 404
tiene una frase de Not Found
. Una lista completa de frases de motivos está disponible en Parámetros, a continuación, o en la especificación HTTP .
La línea termina con un retorno de carro: par de avance de línea, generalmente representado por \r\n
.
Encabezados adicionales
Al igual que una solicitud HTTP, una respuesta HTTP puede incluir encabezados adicionales para modificar o aumentar la respuesta que proporciona.
Una lista completa de los encabezados disponibles se define en §6.2 de la especificación . Los encabezados más utilizados son:
-
Server
, que funciona como un encabezado de solicitud deUser-Agent
para el servidor; -
Location
, que se usa en las respuestas de estado 201 y 3xx para indicar un URI para redirigir a; y -
ETag
, que es un identificador único para esta versión del recurso devuelto para permitir a los clientes almacenar en caché la respuesta.
Los encabezados de respuesta vienen después de la línea de estado y, al igual que con los encabezados de solicitud, se forman como tales:
Name: Value CRLF
Name
proporciona el nombre del encabezado, como ETag
o Location
, y Value
proporciona el valor que el servidor está configurando para ese encabezado. La línea termina con un CRLF.
Una respuesta con encabezados podría verse así:
HTTP/1.1 201 Created \r\n
Server: WEBrick/1.3.1 \r\n
Location: http://example.com/files/129742 \r\n
Cuerpos de mensajes
Al igual que con los cuerpos de solicitud , las respuestas HTTP pueden contener un cuerpo de mensaje. Esto proporciona datos adicionales que el cliente procesará. En particular, 200 respuestas OK a una solicitud GET bien formada siempre deben proporcionar un cuerpo de mensaje que contenga los datos solicitados. (Si no hay ninguno, 204 No Content es una respuesta más apropiada).
Se incluye un cuerpo de mensaje después de todos los encabezados y un doble CRLF. En cuanto a las solicitudes, su longitud en bytes debe darse con el encabezado Content-Length
. Una respuesta exitosa a una solicitud GET, por lo tanto, podría verse así:
HTTP/1.1 200 OK\r\n
Server: WEBrick/1.3.1\r\n
Content-Length: 39\r\n
ETag: 4f7e2ed02b836f60716a7a3227e2b5bda7ee12c53be282a5459d7851c2b4fdfd\r\n
\r\n
Nobody expects the Spanish Inquisition.