HTTP 201 Created: qué significa
RESPUESTA DIRECTA
HTTP 201 Created significa que el servidor procesó correctamente la solicitud y creó uno o más recursos. Se devuelve habitualmente después de un POST correcto o de una solicitud PUT que crea un recurso, y el encabezado `Location` puede identificar el nuevo recurso. Si 201 aparece inesperadamente, verifica el método, la URL, los encabezados de respuesta, el comportamiento de la aplicación y los registros correspondientes antes de cambiar la configuración.
Puntos clave
- HTTP 201 Created es una respuesta correcta, no un error HTTP.
- Normalmente significa que la solicitud creó un recurso; el cuerpo de la respuesta o el encabezado
Locationpueden identificarlo. - Confirma el método HTTP exacto, la URL, el contexto de autenticación y los encabezados de respuesta.
- Una respuesta 201 demuestra que un endpoint HTTP respondió, pero por sí sola no demuestra que todos los componentes del sitio web funcionen correctamente.
- Si el estado no es esperado, identifica si lo generó la aplicación, el servidor web, el proxy, la CDN o el WAF antes de realizar cambios.
Site Administrator
Qué significa este error y cómo reconocerlo
- Un cliente de API, una aplicación basada en navegador, una herramienta de monitorización o un comprobador informa de
201 Created. - La respuesta puede incluir un objeto recién creado, metadatos del recurso o un encabezado
Location. - El resultado puede producirse únicamente para una ruta, un método HTTP, una cuenta o un payload de solicitud concretos.
- Un 201 correcto puede ir acompañado de advertencias de la aplicación o detalles de validación en el cuerpo de la respuesta.
- Las comprobaciones de DNS y TLS pueden seguir siendo correctas porque un endpoint que habla HTTP devolvió una respuesta; esas comprobaciones son independientes del estado HTTP.
Causas principales, ordenadas por probabilidad
- Creación de recursos esperada: La ruta crea intencionadamente un registro, una cuenta, una carga, un trabajo, un pedido u otro recurso y devuelve 201 tras completarse correctamente.
- Se utilizó un método que crea recursos: El cliente envió una solicitud POST o PUT a un endpoint diseñado para crear un recurso. El método y la ruta determinan si 201 es apropiado.
- La solicitud se repitió o se envió a la ruta equivocada: Un cliente, una integración o un formulario puede estar apuntando a un endpoint de creación cuando debería actualizar un recurso existente o utilizar otra URL.
- Cambió el comportamiento de la aplicación o del enrutamiento: Un despliegue, controlador, manejador o regla de ruta puede haber modificado el estado devuelto para una solicitud.
- Un intermediario generó o modificó la respuesta: Un proxy inverso, una CDN, un WAF o una gateway pueden estar implicados, especialmente cuando los encabezados difieren entre las solicitudes directas y las públicas.
- La interpretación del cliente es engañosa: Una regla de monitorización puede clasificar cualquier respuesta HTTP que no sea un error como inusual, aunque 201 sea válido para ese endpoint.
Cómo solucionarlo
Primero decide si HTTP 201 es esperado
- Registra la URL exacta, el método HTTP, el cuerpo de la solicitud o los parámetros relevantes, el contexto de la cuenta y la marca de tiempo. No incluyas contraseñas, cookies, tokens de acceso ni otros secretos en las notas compartidas.
- Comprueba el comportamiento documentado del endpoint o el contrato de la aplicación. Un endpoint de creación suele devolver 201; una solicitud a una página de solo lectura normalmente no debería crear un recurso.
- Inspecciona el cuerpo y los encabezados de la respuesta. Busca un encabezado
Location, un identificador de recurso, el tipo de contenido, un ID de solicitud, información de caché y cualquier advertencia de la aplicación. Trata los encabezados como indicios, no como una prueba de que un componente concreto generó la respuesta. - Confirma si el cliente siguió redirecciones o informó de una respuesta intermedia. Registra la respuesta final por separado de cualquier respuesta anterior.
Si eres usuario de una API o visitante
- Si la operación debía crear algo, verifica en la aplicación que el nuevo recurso existe antes de volver a enviar la solicitud.
- Si la operación no debía crear nada, detén los reintentos repetidos y comprueba la ruta, el método HTTP y la configuración del cliente.
- Si se requiere autenticación, inicia sesión mediante el flujo normal de la aplicación y repite la operación solo cuando sea seguro y estés autorizado para hacerlo.
- Proporciona al propietario del sitio la URL y el método depurados, la marca de tiempo, los encabezados de respuesta relevantes y el ID de solicitud, si está disponible. No compartas nunca credenciales, cookies de sesión ni secretos de API.
Si eres propietario de la aplicación o del sitio
- Reproduce la solicitud en un entorno seguro o con una cuenta de prueba autorizada. Captura el método, la URL, el estado, los encabezados de respuesta y un cuerpo de respuesta con los datos confidenciales ocultos.
- Identifica el componente que produjo la respuesta: el manejador de la aplicación, el servidor web, el proxy inverso, la CDN, el WAF u otra gateway. Compara los ID de solicitud o los encabezados de tiempo generados por el servidor con los registros cuando estén disponibles.
- Inspecciona los registros correspondientes de la aplicación y de la infraestructura en la marca de tiempo registrada. Confirma si realmente se creó un recurso y si la operación se confirmó una vez o más de una vez.
- Revisa los cambios recientes en las rutas, los controladores, el procesamiento de solicitudes, la autenticación, las reglas del proxy y los despliegues. Presta especial atención a los clientes que puedan reintentar solicitudes de creación no idempotentes.
- Si 201 es incorrecto para el endpoint, cambia la regla de aplicación o de enrutamiento más específica que controle la respuesta. Obtén autorización y prueba el cambio antes de aplicarlo en producción.
- Vuelve a probar con el mismo método, URL y payload; después, prueba las rutas relacionadas de creación, lectura y actualización para asegurarte de que sus códigos de estado previstos y el comportamiento de los recursos siguen siendo correctos.
Prevención y cómo verificar la solución
- Define los métodos HTTP y códigos de estado esperados para cada ruta pública, incluido el comportamiento de creación y de solicitudes duplicadas.
- Prueba las operaciones de creación, lectura y actualización con casos representativos autenticados y no autenticados después de los despliegues.
- Haz que los clientes gestionen 201 explícitamente y verifiquen el recurso devuelto o el encabezado
Locationantes de reintentar. - Utiliza identificadores de solicitud y conserva los registros de la aplicación, el proxy y la gateway durante el tiempo suficiente para rastrear una respuesta inesperada.
- Supervisa las tasas de códigos de estado por ruta y método en lugar de tratar todas las respuestas 2xx como intercambiables.
- Mantén bajo control de versiones los cambios de enrutamiento, autenticación, proxy y aplicación, y documenta las respuestas 201 intencionadas.
Cuándo pedir ayuda externa
Escala el caso al equipo de la aplicación o del hosting cuando 201 aparezca en una ruta que no debería crear recursos, cuando se estén creando recursos duplicados, cuando la respuesta difiera entre clientes o rutas de red, o cuando muchas rutas cambien después de un despliegue. Proporciona detalles de la solicitud depurados, marcas de tiempo, encabezados de respuesta, ID de solicitud y registros relevantes. No compartas contraseñas, cookies de sesión, tokens de API ni cuerpos de solicitud privados. Los cambios en el enrutamiento, la autenticación, el proxy, el WAF o la configuración del servidor en producción deben realizarlos únicamente administradores autorizados y con un plan de reversión.
Preguntas frecuentes
¿HTTP 201 Created es un error?
No. HTTP 201 es una respuesta correcta 2xx que indica que la solicitud produjo la creación de uno o más recursos. Que sea correcto depende de la ruta y del método de la solicitud.
¿Qué significa el encabezado Location en una respuesta 201?
Cuando está presente, Location suele identificar el recurso recién creado u otra ubicación relevante. Verifícalo según el contrato de la API de la aplicación en lugar de asumir que toda respuesta 201 debe incluirlo.
¿HTTP 201 suele devolverse para solicitudes POST?
A menudo, sí. POST se utiliza habitualmente para operaciones que crean recursos, pero el estado correcto depende del diseño del endpoint. PUT también puede devolver 201 cuando crea un recurso en el URI solicitado.
¿HTTP 201 significa que el recurso se creó más de una vez?
No. El estado por sí solo no muestra si se creó un duplicado. Comprueba el cuerpo de la respuesta, el identificador del recurso y los registros de la aplicación, especialmente si un cliente reintentó una solicitud de creación.
¿DNS o TLS pueden funcionar correctamente cuando un sitio devuelve HTTP 201?
Sí. Recibir una respuesta HTTP normalmente demuestra que la solicitud llegó a un endpoint que habla HTTP, mientras que la resolución DNS y la negociación TLS son comprobaciones independientes. Un 201 tampoco demuestra que todas las aplicaciones o rutas del sitio web funcionen correctamente.
¿Qué debo comprobar si una solicitud de página devuelve inesperadamente HTTP 201?
Confirma la URL y el método exactos, determina si el cliente siguió una redirección, inspecciona los encabezados de respuesta e identifica el componente que generó la respuesta. Después, compara la solicitud con los registros de la aplicación y de la infraestructura antes de cambiar la configuración.
Documentación adicional
- MDN Web Docs: 201 Created — explicación del código de estado y del comportamiento habitual de la respuesta.
- RFC 9110: HTTP Semantics — semántica normativa de HTTP y definiciones de los códigos de estado.