Was ist der HTTP-Statuscode 201? Bedeutung, Beispiele und wann er verwendet wird
Nicht alle HTTP-Statuscodes sind gleich. Einige bestätigen einfach, dass eine Serveranforderung erfolgreich war, während andere eine besondere Bedeutung haben. Der Statuscode 201 teilt Ihnen mit, dass der Server erfolgreich eine neue Ressource erstellt hat. In der Regel geschieht dies als Antwort auf eine POST-Anforderung oder manchmal eine PUT-Anforderung, am häufigsten verwendet mit API-Diensten.
In diesem Artikel erklären wir ausführlich, was der Antwortcode 201 Created bedeutet, zeigen Beispiele aus REST-APIs und Browserformularen und vergleichen ihn mit anderen ähnlichen HTTP-Statuscodes.
Was ist der HTTP-Statuscode 201?
Der Statuscode 201 bedeutet, dass eine Anforderung erfolgreich war und eine neue Ressource erstellt wurde.
Gemäß der HTTP/1.1-Spezifikation sollte ein ordnungsgemäßer 201-Server-Antwortcode ein Location-Header-Feld enthalten.
Dieses sollte auf die spezifische URI der neu erstellten oder primären Ressource verweisen. Es kann auch einen Antworttext enthalten, der Details zu den angeforderten Daten enthält.

Dieses Verhalten unterscheidet den 201 von anderen Server-Antwortcodes. Zum Beispiel:
- 200 OK bedeutet einfach, dass die Anforderung erfolgreich war und die angeforderten Daten zurückgegeben werden, aber nicht unbedingt eine neue Entität erstellt wird.
- 201 Created signalisiert ausdrücklich, dass eine neue Ressource jetzt an der effektiven Anforderungs-URI oder einer anderen im Location-Header angegebenen Weiterleitungsadresse existiert.
In der Praxis wird 201 am häufigsten in REST-APIs verwendet, wo eine POST-Anforderung einen neuen Benutzer, Blogbeitrag, hochgeladene Datei oder eine andere Zielressource hinzufügt. Es kann auch in Webformularen angewendet werden, wie z.B. auf einer Anmeldeseite, wo ein Server die Anforderung erfolgreich erfüllt und eine neue Entität in der Datenbank gespeichert wird.
Wann sollte 201 verwendet werden (und wann nicht)
Der Statuscode 201 gilt, wenn der Server erfolgreich eine Anforderung eines Clients erfüllt hat, die zu etwas Neuem führt. Im Folgenden listen wir die häufigsten Anwendungsfälle auf.
Korrekte Anwendungsfälle
- Benutzerregistrierung – Das Erstellen eines neuen Benutzerkontos gibt ein 201 Created zusammen mit einem Location-Header zurück, der auf die Profilseite verweist.
- Erstellung von Blogbeiträgen – Das Veröffentlichen eines Blogbeitrags mit einer POST-Anforderung sollte 201 zurückgeben, sobald der Artikel gespeichert ist.
- Datei-Upload – Wenn eine hochgeladene Datei auf dem Ursprungsserver gespeichert wird, sollte der Antwortcode 201 Created mit einem Link zur Zielressource sein.
- E-Commerce-Bestellung – Ein Checkout-Prozess, bei dem der Server einen neuen Bestelleintrag vorbereitet, kann 201 zurückgeben, plus einen Antworttext mit der Bestell-ID.
Falsche Anwendungsfälle
Der 201 Created-Code sollte nicht verwendet werden, wenn keine neue Ressource generiert wurde. Häufige Fehler sind:
- Login oder Authentifizierung – Eine Anforderung war erfolgreich, hat aber keine neue Entität hinzugefügt. Der richtige Statuscode ist normalerweise 200 OK.
- Aktualisierung bestehender Daten – Eine PUT-Anforderung, die eine aktuelle Instanz ändert, sollte 200 OK oder 204 No Content zurückgeben.
- Suchanfragen – Das Zurückgeben angeforderter Daten beinhaltet keine Ressourcenerstellung; 200 OK ist korrekt.
- Versuche zur doppelten Erstellung – Wenn der Ursprungsserver die Erstellung verweigert, weil die Identität des Clients bereits existiert, geben Sie 409 Conflict zurück.
Die Verwendung des falschen Antwortcodes kann zu Verwirrung beim Benutzeragenten führen und semantische Fehler oder ungültige Antworten in einer REST-API verursachen.
API-Beispiel: Neuen Benutzer erstellen
Der Statuscode 201 wird am häufigsten in APIs gesehen, wenn eine neu erstellte Ressource nach einer Anforderung des Clients zurückgegeben wird. Lassen Sie uns einen häufigen Fall betrachten – das Erstellen eines neuen Benutzers in einer REST-API.
Zum Beispiel, unten ist eine Beispiel-POST-Anforderung an api.example.com:
POST /users HTTP/1.1
Host: api.example.com
Content-Type: application/json
{
"name": "John Doe",
"email": "john@example.com"
}
In dieser POST-Anforderung bittet der Benutzeragent den Ursprungsserver, eine neue Entität hinzuzufügen. Unten sehen Sie eine übliche Serverantwort:
HTTP/1.1 201 Created
Location: /users/123
Content-Type: application/json
{
"id": 123,
"name": "John Doe",
"email": "john@example.com"
}
Der Server-Antwortcode 201 Created signalisiert, dass die Anforderung erfolgreich war und eine neue Ressource hinzugefügt wurde – ein neuer Benutzer, John Doe, seine E-Mail und eine entsprechende Benutzer-ID wurden erfolgreich erstellt.
Wichtige Punkte in diesem Beispiel:
- Das Location-Header-Feld bietet die spezifische URI, unter der die primäre Ressource aufgerufen werden kann.
- Der Antworttext gibt die angeforderten Daten für den neuen Benutzer zurück und bestätigt die Ressourcenerstellung.
- Die Anforderung wurde erfolgreich in einem Schritt abgeschlossen — es war keine zusätzliche Anforderungsmethode oder Weiterleitungsadresse erforderlich.
Dies ist die korrekteste und standardkonforme Art, den HTTP 201 Created-Antwortcode gemäß der HTTP-Spezifikation zu verwenden.
Browser-Beispiel: Demo des Anmeldeformulars (praktisches Szenario)
Während der Statuscode 201 am häufigsten in APIs vorkommt, können Sie ihn auch in Aktion mit einem einfachen Webformular sehen.
Lassen Sie uns eine Demo-Anmeldeseite betrachten, auf der ein Besucher ein neues Benutzerkonto erstellen kann.

Wenn das Formular übermittelt wird, verarbeitet der Ursprungsserver die Anforderung des Clients, speichert die Daten und gibt die 201 Created-Antwort zurück.

In unserer Demo:
- Der Besucher füllt seinen Namen, seine E-Mail und sein Passwort aus.
- Der Server validiert die Anforderungsheader-Felder und speichert die Daten als neu erstellte Ressource in der Datenbank.
- Der Server-Antwortcode ist 201 Created, zusammen mit einem Location-Header, der auf das neue Profil verweist.
- Eine Bestätigungsseite zeigt die Details der angeforderten Ressource, was beweist, dass die Anforderung erfolgreich erfüllt wurde.
Beachten Sie, dass es unwahrscheinlich ist, dass Sie 201-Antwortcodes auf der Benutzeroberfläche von Websites sehen.
Diese Demo soll den Prozess veranschaulichen, der normalerweise „hinter den Kulissen“ abläuft, wenn der Server Anforderungen verarbeitet.
Sie können auch die Entwickler- und Netzwerktools des Browsers verwenden, um zu sehen, wie der Statuscode in der Praxis bei tatsächlichen Anwendungen verwendet wird.
201 vs. andere ähnliche Statuscodes
Der HTTP 201 Created-Antwortcode wird oft mit anderen Erfolgscodes verwechselt. Hier ist, wie er im Vergleich zu verwandten Antworten steht:
201 vs 200 OK
- 200 OK bedeutet, dass die Anforderung erfolgreich war und die angeforderten Daten zurückgegeben werden.
- Es zeigt nicht an, dass eine neu erstellte Ressource existiert.
- Zum Beispiel: Abrufen eines Blogbeitrags oder Aktualisieren einer aktuellen Instanz.
201 vs 202 Accepted
- 202 Accepted bedeutet, dass die Anforderung des Clients empfangen wurde und möglicherweise später verarbeitet wird.
- Es gibt keine Garantie, dass eine neue Entität erstellt wird.
- Zum Beispiel: Einreichen eines Jobs in eine Warteschlange zur Risikoverarbeitung, wie das Generieren eines PDFs oder die Abwicklung eines digitalen Zahlungssystems.
201 vs 204 No Content
- 204 No Content bedeutet, dass die Anforderung erfolgreich war und es keinen Nachrichtentext zurückzugeben gibt.
- Wird oft für eine PUT-Anforderung verwendet, die eine bestehende Zielressource aktualisiert.
- Kein Location-Header oder neue Ressource ist beteiligt.
| Antwortcode | Bedeutung | Wann zu verwenden | Beispielszenario |
| 200 OK | Anforderung erfolgreich, gibt angeforderte Ressource zurück | Standardabruf oder -aktualisierung | Abrufen eines Blogbeitrags |
| 201 Created | Anforderung führte zu einer neu erstellten Ressource | Ressourcenerstellung über POST/PUT | Erstellen eines neuen Benutzers |
| 202 Accepted | Anforderung zur Verarbeitung angenommen, noch nicht abgeschlossen | Asynchrone Aufgaben, Job-Warteschlangen | Erstellen eines Berichts im Hintergrund |
| 204 No Content | Anforderung erfolgreich, kein Antworttext zurückgegeben | Aktualisierungen ohne Rückgabedaten | Aktualisieren eines Profils mit PUT |
Wichtige Erkenntnisse zum Statuscode 201
Lassen Sie uns die Hauptpunkte über den 201-Code zusammenfassen:
- Der HTTP-Statuscode 201 bestätigt, dass der Server erfolgreich eine Anforderung eines Clients durch die Erstellung einer neuen Ressource erfüllt hat.
- Ein ordnungsgemäßer 201-Server-Antwortcode sollte ein Location-Header-Feld enthalten, das auf die spezifische URI der neu erstellten Ressource verweist und möglicherweise einen Antworttext mit Details zu den angeforderten Daten zurückgibt.
- Der 201 Created-Antwortcode wird am häufigsten in REST-APIs für die Erstellung von Ressourcen (neuer Benutzer, Blogbeitrag, hochgeladene Datei oder Bestellung) verwendet.
- Verwechseln Sie 201 nicht mit anderen HTTP-Statuscodes wie 200 OK, 202 Accepted oder 204 No Content — jeder kommuniziert ein anderes Ergebnis der Anforderungsmethode.
- Die Verwendung des richtigen HTTP-Statuscodes bedeutet, dass der Benutzeragent die angeforderte Ressource ordnungsgemäß verarbeiten kann.
Kurz gesagt: 201 teilt dem Client mit, „Die Anfrage war erfolgreich, und eine neue Ressource existiert jetzt“.