HTTPQUERY
Deutsch

201 Created

Verwendung

Der Statuscode 201 Created wird zurückgegeben, wenn eine Anfrage eine oder mehrere neue Ressourcen erzeugt. Das folgt üblicherweise auf eine POST- oder PUT-Anfrage. Der Server fügt einen Location-Header hinzu, der auf die neu erstellte Ressource verweist. Fehlt der Location-Header, befindet sich die erstellte Ressource unter dem in der ursprünglichen Anfrage angegebenen Pfad.

Hinweis

Auch eine PUT-Anfrage, die eine Ressource unter einer bestimmten URI erstellt, gibt 201 Created zurück. Der Unterschied besteht darin, dass der Client die Ziel-URI bei PUT direkt angibt, während der Server die URI bei POST bestimmt.

Die Spezifikation erlaubt einen Body in einer 201-Antwort. Nach REST-Konvention gibt man die Repräsentation der erstellten Ressource zurück, einschließlich der vom Server vergebenen Felder wie id, Zeitstempel und URIs. Das erspart eine nachgelagerte GET-Anfrage zum Abrufen der neuen Ressource. Der Location-Header verweist auf die URI der neuen Ressource.

Hinweis

201 bedeutet, dass die Ressource unmittelbar erstellt wurde und unter der Location-URI verfügbar ist. 202 bedeutet, dass die Anfrage angenommen wurde, die Verarbeitung jedoch noch nicht abgeschlossen ist, was bei asynchronen Abläufen und eingereihten Jobs üblich ist.

SEO-Auswirkung

Google wartet kurz auf Inhalte aus 201-Antworten und übergibt empfangene Inhalte anschließend an die Indexierungs-Pipeline. Eine Indexierung ist nicht garantiert.

Beispiel

Der Client lädt XML-Daten auf den Server hoch und gibt /incoming/xml als Zielpfad an. Der Server bestätigt in seiner Antwort, dass die Daten angenommen und eine Datei namens article_1.xml erstellt wurde.

Anfrage

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>

Antwort

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

{"success":"true"}

Code-Referenzen

.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