HTTPQUERY
Español

201 Created

Uso

El código de estado 201 Created se devuelve cuando una solicitud crea uno o varios recursos nuevos. Suele venir después de una solicitud POST o PUT. El servidor incluye una cabecera Location que apunta al recurso recién creado. Cuando la cabecera Location no está presente, el recurso creado reside en la ruta indicada en la solicitud original.

Nota

Una solicitud PUT que crea un recurso en un URI concreto también devuelve 201 Created. La diferencia está en que con PUT el cliente indica directamente el URI de destino, mientras que con POST es el servidor quien determina el URI.

La especificación permite un cuerpo en una respuesta 201. La convención REST es devolver la representación del recurso creado, incluidos los campos asignados por el servidor, como id, marcas de tiempo y URI. Así se evita una solicitud GET posterior para recuperar el nuevo recurso. La cabecera Location apunta al URI del nuevo recurso.

Nota

201 significa que el recurso se ha creado de inmediato y está disponible en el URI de Location. 202 significa que la solicitud se ha aceptado, pero el procesamiento aún no ha terminado, algo habitual en los flujos de trabajo asíncronos y en los trabajos en cola.

Impacto en SEO

Google espera brevemente el contenido de las respuestas 201 y después pasa el contenido recibido al proceso de indexación. La indexación no está garantizada.

Ejemplo

El cliente sube datos XML al servidor e indica /incoming/xml como ruta de destino. El servidor responde confirmando que los datos se aceptaron y que se creó un archivo llamado article_1.xml.

Solicitud

POST /incoming/xml HTTP/1.1
Host: example.com
Content-Type: application/xml
Content-Length: 105

<?xml version="1.0"?>
<article>
  <title>Test XML article</title>
  <author>Anonymous</author>
</article>

Respuesta

HTTP/1.1 201 Created
Location: /incoming/xml/article_1.xml
Content-Type: application/json
Content-Length: 18

{"success":"true"}

Referencias de código

.NET

HttpStatusCode.Created

Rust

http::StatusCode::CREATED

Rails

:created

Go

http.StatusCreated

Symfony

Response::HTTP_CREATED

Python3.5+

http.HTTPStatus.CREATED

Java

java.net.HttpURLConnection.HTTP_CREATED

Apache HttpComponents Core

org.apache.hc.core5.http.HttpStatus.SC_CREATED

Angular

@angular/common/http/HttpStatusCode.Created