La IETF define los códigos de estado HTTP en el RFC 9110 y se registran ante la IANA. La openapi de Alibaba Cloud sigue este estándar de manera general.
Convenciones de códigos de estado en la openapi de Alibaba Cloud
La openapi de Alibaba Cloud sigue, de forma general, el estándar de códigos de estado HTTP que se describe en este tema: 2xx indica una llamada correcta, 4xx señala un problema del lado del cliente (como un parámetro no válido, un error de autenticación, permisos insuficientes o una cuota superada) y 5xx advierte sobre un problema del lado del servidor. Las llamadas con errores también suelen devolver los campos Code y Message para facilitar un diagnóstico más detallado, junto con un RequestId que identifica la llamada de forma única.
La semántica exacta y las condiciones que activan un código de estado pueden variar según el servicio en la nube. Cuando llame a una operación de openapi, consulte la referencia de API actual de ese servicio.
Estructura y clases
Un código de estado es un número entero de tres dígitos que describe el resultado de una solicitud y la semántica de la respuesta. Los valores válidos van de 100 a 599. El primer dígito define la clase de la respuesta; los dos últimos no tienen ninguna función de categorización.
|
Clase |
Significado |
|
1xx (informativa) |
Se recibió la solicitud y el procesamiento continúa. Son respuestas provisionales: una sola solicitud puede generar cero o más respuestas 1xx antes de emitir exactamente una respuesta final. |
|
2xx (correcta) |
La solicitud se recibió, se interpretó y se aceptó correctamente. |
|
3xx (redirección) |
Se requiere una acción adicional del cliente para completar la solicitud. |
|
4xx (error del cliente) |
La solicitud tiene una sintaxis incorrecta o no se puede procesar. Por lo general, el error proviene del cliente. |
|
5xx (error del servidor) |
El servidor no pudo procesar una solicitud aparentemente válida. El error proviene del servidor. |
Códigos de estado registrados
A continuación se presentan tablas con el significado estándar de cada código y la especificación que lo define.
1xx informativa
Una respuesta 1xx termina al finalizar la sección de encabezados y no puede incluir contenido ni trailers. Dado que HTTP/1.0 no definió códigos 1xx, un servidor no debe enviar una respuesta 1xx a un cliente HTTP/1.0.
|
Código |
Nombre estándar |
Significado |
Definido en |
|
100 |
Continue |
Se recibió la parte inicial de la solicitud sin rechazarla todavía, y el servidor está dispuesto a aceptar el contenido de la solicitud. Continúe enviando el cuerpo y descarte esta respuesta provisional. |
RFC 9110 |
|
101 |
Switching Protocols |
El servidor acepta el cambio de protocolo solicitado mediante el encabezado Upgrade e indica los protocolos que entran en vigor en su propio encabezado Upgrade. |
RFC 9110 |
|
102 |
Processing |
Lo definió la extensión WebDAV y hoy está obsoleto. Evite usarlo en diseños nuevos. |
RFC 2518 |
|
103 |
Early Hints |
Devuelve encabezados seleccionados, por lo general Link, antes de la respuesta final para que el cliente comience a precargar recursos. |
RFC 8297 |
2xx correcta
|
Código |
Nombre estándar |
Significado |
Definido en |
|
200 |
OK |
La solicitud se procesó correctamente. El contenido de la respuesta depende del método: GET devuelve una representación del recurso de destino, POST devuelve el estado o los resultados de la acción, PUT y DELETE devuelven el estado de la acción, y OPTIONS devuelve las opciones de comunicación. |
RFC 9110 |
|
201 |
Created |
La solicitud se completó y se crearon uno o varios recursos nuevos. El recurso principal se identifica mediante el encabezado Location o, si no se envía dicho encabezado, mediante la URI de destino. |
RFC 9110 |
|
202 |
Accepted |
Se aceptó la solicitud para su procesamiento, pero este aún no termina y podría rechazarse al final. HTTP no cuenta con un mecanismo para reenviar un código de estado desde una operación asíncrona, por lo que la respuesta suele apuntar a un recurso de estado que se puede consultar de forma periódica. |
RFC 9110 |
|
203 |
Non-Authoritative Information |
La solicitud se procesó correctamente, pero un proxy transformador modificó el contenido. Por ello, difiere de lo que el servidor de origen habría devuelto en una respuesta 200. |
RFC 9110 |
|
204 |
No Content |
La solicitud se completó y no hay contenido adicional que enviar en el cuerpo de la respuesta. Los metadatos sí pueden viajar en los encabezados de la respuesta. |
RFC 9110 |
|
205 |
Reset Content |
La solicitud se completó y el cliente debe restablecer la vista del documento que originó la solicitud, por ejemplo, al borrar un formulario. |
RFC 9110 |
|
206 |
Partial Content |
El servidor procesó una solicitud de rango y devolvió una o varias partes del recurso de destino. Este código es común en transferencias reanudables y descargas fragmentadas de archivos grandes. |
RFC 9110 |
|
207 |
Multi-Status |
Lo definió la extensión WebDAV. El cuerpo contiene un estado independiente para cada suboperación. |
RFC 4918 |
|
208 |
Already Reported |
Lo definió la extensión de enlaces de WebDAV. Evita enumerar el mismo recurso varias veces dentro de una misma respuesta. |
RFC 5842 |
|
226 |
IM Used |
El servidor aplicó una o varias codificaciones delta al recurso de destino y devolvió el delta en lugar del recurso completo. |
RFC 3229 |
3xx redirección
Los códigos 301, 302, 307 y 308 ubican el recurso en otra URI. Se diferencian en si el traslado es permanente y en si el método de la solicitud puede cambiar. Por razones históricas, los clientes que gestionan 301 y 302 podrían reescribir POST como GET. Utilice 308 y 307 cuando necesite conservar el método original.
|
Código |
Nombre estándar |
Significado |
Definido en |
|
300 |
Multiple Choices |
El recurso de destino tiene más de una representación, y el cliente o el usuario debe elegir entre ellas. |
RFC 9110 |
|
301 |
Moved Permanently |
Al recurso de destino se le asignó una nueva URI permanente, y las referencias futuras deben usarla. El servidor debería enviar la nueva URI en el encabezado Location. |
RFC 9110 |
|
302 |
Found |
El recurso de destino reside temporalmente en una URI distinta. Como la redirección puede cambiar, siga usando la URI original para solicitudes futuras. |
RFC 9110 |
|
303 |
See Other |
El servidor redirige al cliente a otro recurso para responder la solicitud de manera indirecta. Envíe una solicitud GET o HEAD a la URI indicada en el encabezado Location y presente ese resultado como respuesta. La nueva URI no equivale a la URI de destino. |
RFC 9110 |
|
304 |
Not Modified |
Una condición previa de un GET o HEAD condicional se evaluó como falsa, lo que significa que el cliente ya cuenta con una representación válida. El servidor omite la retransmisión y el cliente usa su copia en caché. La respuesta no puede incluir contenido. |
RFC 9110 |
|
305 |
Use Proxy |
Obsoleto. No lo use en implementaciones nuevas. |
RFC 9110 |
|
306 |
(sin uso) |
Se definió en una versión anterior de la especificación, ya no se utiliza y permanece reservado. |
RFC 9110 |
|
307 |
Temporary Redirect |
El recurso de destino reside temporalmente en una URI distinta, y el cliente no debe cambiar el método de la solicitud al seguir la redirección automáticamente. |
RFC 9110 |
|
308 |
Permanent Redirect |
Tiene la misma semántica que 301, pero exige que el cliente conserve el método de la solicitud. Se definió en 2014, después que sus códigos relacionados, por lo que algunas implementaciones heredadas podrían no reconocerlo. |
RFC 9110 |
4xx error del cliente
Salvo al responder a HEAD, el servidor debería explicar el error en el cuerpo de la respuesta e indicar si la condición es temporal o permanente. Estos códigos aplican a cualquier método de solicitud.
|
Código |
Nombre estándar |
Significado |
Definido en |
|
400 |
Bad Request |
El servidor no procesará la solicitud debido a un error percibido del cliente, como sintaxis mal formada, encuadre de mensaje no válido o enrutamiento engañoso. |
RFC 9110 |
|
401 |
Unauthorized |
A la solicitud le faltan credenciales de autenticación válidas para el recurso de destino. El servidor debe enviar un encabezado WWW-Authenticate que indique un desafío aplicable. Si se proporcionaron credenciales, se rechazaron. |
RFC 9110 |
|
402 |
Payment Required |
Reservado para uso futuro. |
RFC 9110 |
|
403 |
Forbidden |
El servidor entendió la solicitud, pero se niega a procesarla. Si se proporcionaron credenciales, el servidor las considera insuficientes, y el cliente no debería reintentar automáticamente con las mismas credenciales. |
RFC 9110 |
|
404 |
Not Found |
El servidor de origen no encontró una representación actual del recurso de destino o no desea revelar que existe una. |
RFC 9110 |
|
405 |
Method Not Allowed |
El recurso de destino no admite el método de la solicitud. El servidor debe enviar un encabezado Allow que enumere los métodos compatibles. |
RFC 9110 |
|
406 |
Not Acceptable |
El recurso de destino no tiene ninguna representación que cumpla con los encabezados de negociación de contenido de la solicitud. |
RFC 9110 |
|
407 |
Proxy Authentication Required |
Similar a 401, pero el cliente debe autenticarse con el proxy en lugar del servidor de origen. |
RFC 9110 |
|
408 |
Request Timeout |
El servidor no recibió una solicitud completa dentro del tiempo que estaba dispuesto a esperar. |
RFC 9110 |
|
409 |
Conflict |
La solicitud entra en conflicto con el estado actual del recurso de destino. |
RFC 9110 |
|
410 |
Gone |
El recurso de destino ya no está disponible en el servidor de origen y es probable que la condición sea permanente. |
RFC 9110 |
|
411 |
Length Required |
El servidor exige un encabezado Content-Length en la solicitud. |
RFC 9110 |
|
412 |
Precondition Failed |
Una o varias condiciones previas de los encabezados de la solicitud se evaluaron como falsas en el servidor. |
RFC 9110 |
|
413 |
Content Too Large |
El cuerpo de la solicitud supera el tamaño que el servidor está dispuesto o puede procesar. |
RFC 9110 |
|
414 |
URI Too Long |
La URI de destino de la solicitud es más larga de lo que el servidor está dispuesto a interpretar. |
RFC 9110 |
|
415 |
Unsupported Media Type |
El recurso de destino no admite el formato de contenido del cuerpo de la solicitud. |
RFC 9110 |
|
416 |
Range Not Satisfiable |
Los rangos del encabezado Range no coinciden con la extensión actual del recurso, o bien el conjunto de rangos no es válido. |
RFC 9110 |
|
417 |
Expectation Failed |
El servidor no pudo cumplir la expectativa indicada en el encabezado Expect. |
RFC 9110 |
|
418 |
(sin uso) |
Anteriormente lo usaba un borrador informal de protocolo. Está reservado y no se le pueden asignar nuevas semánticas. |
RFC 9110 |
|
421 |
Misdirected Request |
La solicitud se dirigió a un servidor que no puede generar una respuesta autoritativa para la URI de destino. |
RFC 9110 |
|
422 |
Unprocessable Content |
Se entendieron el tipo de medio y la sintaxis del cuerpo de la solicitud, pero no se pueden procesar las instrucciones semánticas que contiene. |
RFC 9110 |
|
423 |
Locked |
Lo definió la extensión WebDAV. El recurso de destino está bloqueado. |
RFC 4918 |
|
424 |
Failed Dependency |
Lo definió la extensión WebDAV. Una acción de la cual depende esta solicitud no se completó correctamente. |
RFC 4918 |
|
425 |
Too Early |
El servidor no está dispuesto a procesar una solicitud reenviada en datos tempranos de TLS. Vuelva a intentarlo cuando termine el handshake. |
RFC 8470 |
|
426 |
Upgrade Required |
El servidor rechaza la solicitud con el protocolo actual, pero podría aceptarla después de que el cliente lo actualice. La respuesta debe incluir un encabezado Upgrade. |
RFC 9110 |
|
428 |
Precondition Required |
El servidor exige que la solicitud sea condicional, lo que evita que las actualizaciones simultáneas se sobrescriban entre sí. |
RFC 6585 |
|
429 |
Too Many Requests |
El cliente envió más solicitudes de las que permite el límite de velocidad en un periodo determinado. La respuesta puede incluir un encabezado Retry-After con el tiempo de espera sugerido. |
RFC 6585 |
|
431 |
Request Header Fields Too Large |
Un campo de encabezado individual, o la sección de encabezados completa, supera el tamaño que el servidor procesará. |
RFC 6585 |
|
451 |
Unavailable For Legal Reasons |
El servidor deniega el acceso al recurso como respuesta a un requerimiento legal. |
RFC 7725 |
5xx error del servidor
|
Código |
Nombre estándar |
Significado |
Definido en |
|
500 |
Internal Server Error |
El servidor encontró una condición inesperada que le impidió procesar la solicitud. |
RFC 9110 |
|
501 |
Not Implemented |
El servidor no admite la funcionalidad obligatoria para procesar la solicitud, por lo general porque no reconoce el método. |
RFC 9110 |
|
502 |
Bad Gateway |
Un servidor que actúa como gateway o proxy recibió una respuesta no válida de un servidor ascendente. |
RFC 9110 |
|
503 |
Service Unavailable |
El servidor no puede gestionar la solicitud debido a una sobrecarga temporal o a un mantenimiento programado. La condición es transitoria y la respuesta puede incluir un encabezado Retry-After. |
RFC 9110 |
|
504 |
Gateway Timeout |
Un servidor que actúa como gateway o proxy no recibió una respuesta oportuna de un servidor ascendente. |
RFC 9110 |
|
505 |
HTTP Version Not Supported |
El servidor no admite, o se niega a admitir, la versión principal de HTTP utilizada en la solicitud. |
RFC 9110 |
|
506 |
Variant Also Negotiates |
Lo definió la extensión de negociación transparente de contenido. Indica un error de configuración interna en el servidor. |
RFC 2295 |
|
507 |
Insufficient Storage |
Lo definió la extensión WebDAV. El servidor no puede asignar suficiente almacenamiento para completar la solicitud. |
RFC 4918 |
|
508 |
Loop Detected |
Lo definió la extensión de enlaces de WebDAV. El servidor detectó un bucle infinito mientras procesaba la solicitud. |
RFC 5842 |
|
510 |
Not Extended |
La definición original quedó obsoleta. El código sigue registrado, pero su semántica ya no aplica. |
RFC 2774 |
|
511 |
Network Authentication Required |
El cliente debe autenticarse para obtener acceso a la red, como ocurre con el portal cautivo de una red Wi-Fi pública. |
RFC 6585 |