HTTP
Códigos de estado HTTP
Buscar..
Introducción
En HTTP, los códigos de estado son un mecanismo legible por máquina que indica el resultado de una solicitud emitida anteriormente. De RFC 7231, sec. 6 : "El elemento de código de estado es un código entero de tres dígitos que da el resultado del intento de comprender y satisfacer la solicitud".
La gramática formal permite que los códigos estén entre 000
y 999
. Sin embargo, solo el rango de 100
a 599
tiene un significado asignado.
Observaciones
HTTP / 1.1 define una serie de códigos de estado HTTP numéricos que aparecen en la línea de estado (la primera línea de una respuesta HTTP) para resumir lo que el cliente debe hacer con la respuesta.
El primer dígito de los códigos de estado define la clase de la respuesta:
-
1xx
informativo - Solicitud de cliente
2xx
exitosa - Solicitud
3xx
redirigida : se requieren acciones adicionales, como una nueva solicitud -
4xx
Error de cliente - no repetir la misma solicitud -
5xx
error del servidor - tal vez intente de nuevo
En la práctica, no siempre es fácil elegir el código de estado más apropiado.
Error interno de servidor 500
Un error interno del servidor HTTP 500 es un mensaje general que significa que el servidor encontró algo inesperado. Las aplicaciones (o el servidor web general) deben usar un 500 cuando se produce un error al procesar la solicitud, es decir, se produce una excepción o una condición del recurso impide que se complete el proceso.
Ejemplo de línea de estado:
HTTP/1.1 500 Internal Server Error
404 No encontrado
HTTP 404 No encontrado significa que el servidor no pudo encontrar la ruta utilizando el URI que el cliente solicitó.
HTTP/1.1 404 Not Found
La mayoría de las veces, el archivo solicitado se eliminó, pero a veces puede ser una mala configuración de la raíz del documento o una falta de permisos (aunque los permisos faltantes activan HTTP 403 Forbidden con mayor frecuencia).
Por ejemplo, el IIS de Microsoft escribe 404.0 (0 es el subestado) en sus archivos de registro cuando se eliminó el archivo solicitado. Pero cuando la solicitud entrante está bloqueada por las reglas de filtrado de solicitudes, escribe 404.5-404.19 para registrar los archivos de acuerdo con la regla que bloquea la solicitud. Puede encontrar una referencia al código de error más detallada en el Soporte de Microsoft .
Denegación de acceso a archivos protegidos
Use 403 Prohibido cuando un cliente ha solicitado un recurso al que no se puede acceder debido a los controles de acceso existentes. Por ejemplo, si su aplicación tiene una ruta /admin
que solo debería ser accesible para usuarios con derechos administrativos, puede usar 403 cuando un usuario normal solicita la página.
GET /admin HTTP/1.1
Host: example.com
HTTP/1.1 403 Forbidden
Solicitud exitosa
Envíe una respuesta HTTP con el código de estado 200
para indicar una solicitud exitosa. La línea de estado de respuesta HTTP es entonces:
HTTP/1.1 200 OK
El texto de estado OK
es solo informativo. El cuerpo de la respuesta (carga útil del mensaje) debe contener una representación del recurso solicitado. Si no hay representación 201 No se debe usar Contenido.
Respondiendo a una solicitud condicional de contenido en caché
Enviar un estado de respuesta 304 No modificado desde el servidor enviar en respuesta a una solicitud de cliente que contiene encabezados If-Modified-Since
y If-None-Match
, si el recurso de solicitud no ha cambiado.
Por ejemplo, si una solicitud de un cliente para una página web incluye el encabezado If-Modified-Since: Fri, 22 Jul 2016 14:34:40 GMT
y la página no se modificó desde entonces, responda con la línea de estado HTTP/1.1 304 Not Modified
Top 10 código de estado HTTP
2xx exito
- 200 OK - Respuesta estándar para solicitudes HTTP exitosas.
- 201 Creado : la solicitud se ha cumplido, dando como resultado la creación de un nuevo recurso.
- 204 Sin contenido : el servidor procesó correctamente la solicitud y no devuelve ningún contenido.
Redireccionamiento 3xx
- 304 No modificado : indica que el recurso no se ha modificado desde la versión especificada por los encabezados de solicitud
If-Modified-Since
oIf-None-Match
.
Error del cliente 4xx
- 400 Solicitud errónea : el servidor no puede o no procesará la solicitud debido a un error aparente del cliente (por ejemplo, sintaxis de solicitud mal formada, tamaño demasiado grande, tramado de mensajes de solicitud no válida o enrutamiento de solicitud engañosa).
- 401 no autorizado : similar a 403 prohibido , pero específicamente para uso cuando se requiere autenticación y ha fallado o aún no se ha proporcionado. La respuesta debe incluir un campo de encabezado
WWW-Authenticate
contenga un desafío aplicable al recurso solicitado. - 403 Prohibido : la solicitud era válida, pero el servidor se niega a responder. Es posible que el usuario haya iniciado sesión pero no tenga los permisos necesarios para el recurso.
- 404 No encontrado : el recurso solicitado no se pudo encontrar pero podría estar disponible en el futuro. Se permiten solicitudes posteriores por parte del cliente.
- 409 Conflicto : indica que la solicitud no se pudo procesar debido a un conflicto en la solicitud, como un conflicto de edición entre varias actualizaciones simultáneas.
Error del servidor 5xx
- 500 Error interno del servidor : un mensaje de error genérico, dado cuando se encontró una condición inesperada y no es adecuado ningún mensaje más específico.