Statuscode 423: Gesperrt – Die digitale "Bitte nicht stören"-Meldung

INEZA Felin-Michel

INEZA Felin-Michel

17 October 2025

Statuscode 423: Gesperrt – Die digitale "Bitte nicht stören"-Meldung

Apidog für Unternehmen

On-Premises Bereitstellung

SSO & RBAC

SOC 2 konform

Apidog Enterprise entdecken

Sie arbeiten mit einem Teamkollegen an einem wichtigen Dokument zusammen. Sie öffnen es, um einige entscheidende Änderungen vorzunehmen, und gerade als Sie speichern wollen, erhalten Sie eine Nachricht: „Dieses Dokument ist derzeit von einem anderen Benutzer gesperrt. Bitte versuchen Sie es später erneut.“ Statt Frustration empfinden Sie Erleichterung, dass Sie dank eines cleveren Systems, das einen Konflikt verhindert hat, gerade noch vermieden haben, die Arbeit Ihres Kollegen zu überschreiben.

Dieses kollaborative Sicherheitsnetz wird von einem der spezialisierteren HTTP-Statuscodes angetrieben: 423 Locked. Dieser Code handelt nicht von Sicherheit oder Berechtigungen im traditionellen Sinne; es geht darum, Konflikte in kollaborativen Umgebungen zu verhindern.

Der 423-Statuscode ist die Art des Servers zu sagen: „Ich kann Ihnen im Moment nicht erlauben, diese Ressource zu ändern, weil jemand anderes bereits daran arbeitet. Bitte warten Sie, bis Sie an der Reihe sind.“ Es ist das digitale Äquivalent eines „Bitte nicht stören“-Schilds an einer Hotelzimmertür oder wenn man den Cursor einer anderen Person aktiv in einem gemeinsam genutzten Google Doc tippen sieht.

Aber keine Sorge, am Ende dieses Beitrags werden Sie nicht nur verstehen, was es bedeutet, sondern auch wissen, warum es passiert, wie man es behebt und wie man es in Zukunft vermeidet.

Und wenn Sie ein API-Entwickler oder -Tester sind, zeige ich Ihnen, wie Tools wie Apidog das Erkennen und Beheben von 423-Fehlern erheblich erleichtern können.

Wenn Sie mit kollaborativen Bearbeitungstools, Versionskontrollsystemen oder Anwendungen arbeiten, bei denen mehrere Benutzer miteinander in Konflikt geraten könnten, ist das Verständnis von 423 unglaublich wertvoll.

💡
Wenn Sie APIs entwickeln oder testen, die gleichzeitigen Zugriff verwalten, benötigen Sie ein Tool, das Ihnen hilft, mehrere Benutzer zu simulieren. Laden Sie Apidog kostenlos herunter; es ist eine All-in-One-API-Plattform, mit der Sie Sperrmechanismen und gleichzeitige Anfragen testen können, um sicherzustellen, dass Ihre Anwendung die Zusammenarbeit reibungslos handhabt.

Nun, lassen Sie uns die Welt der Ressourcensperrung und des HTTP-Statuscodes 423 erkunden.

Das Problem: Die Gefahren der gleichzeitigen Bearbeitung

Um zu verstehen, warum 423 existiert, müssen wir das Problem der gleichzeitigen Änderung verstehen. Stellen Sie sich zwei Benutzer vor, Alice und Bob, die beide gleichzeitig denselben Kundendatensatz bearbeiten:

  1. 15:00:00 Uhr: Alice und Bob rufen beide den Kundendatensatz ab. Er zeigt: {"name": "John", "email": "john@old.com"}
  2. 15:00:01 Uhr: Alice ändert die E-Mail-Adresse in john@new.com und speichert.
  3. 15:00:02 Uhr: Bob ändert den Namen in „Jonathan“ und speichert.
  4. Ergebnis: Bobs Speicherung überschreibt Alices E-Mail-Änderung, weil er mit einer veralteten Version gearbeitet hat. Der endgültige Datensatz zeigt {"name": "Jonathan", "email": "john@old.com"}. Alices Arbeit ist verloren!

Dies wird als „Lost Update“-Problem bezeichnet und ist ein klassisches Problem in kollaborativen Systemen. Der `423 Locked`-Statuscode ist Teil der Lösung.

Was bedeutet HTTP 423 Locked eigentlich?

Der `423 Locked`-Statuscode ist Teil der WebDAV (Web Distributed Authoring and Versioning)-Protokollerweiterung für HTTP. Er zeigt an, dass die Methode (wie PUT, DELETE oder PROPPATCH) für die Ressource nicht ausgeführt werden konnte, weil die Ressource gesperrt ist.

Die Antwort sollte Informationen über die Sperre im Antworttext enthalten, typischerweise im XML-Format.

Eine typische 423-Antwort sieht so aus:

HTTP/1.1 423 LockedContent-Type: application/xml; charset="utf-8"

<?xml version="1.0" encoding="utf-8"?>
<D:error xmlns:D="DAV:">
  <D:lock-token-submitted>
    <D:href>/workspace/doc.txt</D:href>
  </D:lock-token-submitted>
</D:error>

Oder eine hilfreichere Version könnte sein:

HTTP/1.1 423 LockedContent-Type: application/json
{
  "error": "ResourceLocked",
  "message": "This document is currently being edited by alice@example.com",
  "locked_until": "2024-01-15T14:30:00Z",
  "locked_by": "alice@example.com"
}

Dieser Code stammt aus dem **WebDAV (Web Distributed Authoring and Versioning)**-Protokoll, einer Erweiterung von HTTP, die es Benutzern ermöglicht, Dateien auf Remote-Servern kollaborativ zu bearbeiten und zu verwalten.

Einfacher ausgedrückt:

Ein 423 Locked-Fehler tritt auf, wenn eine Ressource (wie eine Datei, ein Objekt oder ein Datensatz) derzeit von jemandem oder etwas anderem „gesperrt“ ist und Ihre Anfrage versucht, sie zu ändern.

Die offizielle Definition (RFC 4918)

Gemäß **RFC 4918** (das WebDAV definiert):

„Der Statuscode 423 (Locked) bedeutet, dass die Quell- oder Zielressource einer Methode gesperrt ist.“

Das bedeutet:

Kurz gesagt: **Sie dürfen es im Moment nicht ändern**.

Häufige Szenarien, in denen Sie 423 Locked sehen könnten

Gehen wir einige reale Beispiele durch, bei denen dieser Statuscode sowohl in der **Webentwicklung** als auch im **API-Design** auftaucht.

1. Gleichzeitige Dateibearbeitung

Wenn Ihre Webanwendung Datei-Uploads, Updates oder kollaboratives Bearbeiten zulässt, kann sie Sperrmechanismen verwenden, um Konflikte zu verhindern.

Wenn eine Datei gesperrt ist (um andere an gleichzeitigen Bearbeitungen zu hindern), löst jeder Versuch, sie zu überschreiben, eine 423 aus.

Beispiel:

2. Datenbank-Datensatzsperrung

In APIs, die sensible Daten (wie Inventar, Bankwesen oder Terminplanung) verwalten, werden Datensätze während der Aktualisierung oft gesperrt, um Race Conditions zu verhindern.

Wenn eine Transaktion einen Datensatz zur Änderung sperrt und eine andere Anfrage versucht, ihn zu aktualisieren, kann die zweite eine **423 Locked** erhalten.

3. Versionskontrollsysteme

In Systemen wie Git-basierten Plattformen oder CMS-Software, die Dateiversionierung unterstützen, kann eine Datei oder Entität gesperrt sein, bis ein Merge- oder Genehmigungsprozess abgeschlossen ist.

Der Versuch, während dieser Zeit zu pushen oder zu löschen, kann eine 423-Antwort auslösen.

4. API-Ratenbegrenzung oder Workflow-Sperre

Einige APIs implementieren temporäre Sperren, um die Reihenfolge in Workflows aufrechtzuerhalten.

Zum Beispiel könnte eine Ressource gesperrt sein, während sie verarbeitet oder validiert wird, und bis dies abgeschlossen ist, werden neue Änderungen blockiert.

5. WebDAV-Dateioperationen

Da 423 von WebDAV stammt, geben alle Operationen wie COPY, MOVE, DELETE oder PUT auf gesperrten Ressourcen diesen Status zurück.

Der Sperrmechanismus: So funktioniert er in der Praxis

Die Ressourcensperrung folgt in WebDAV-kompatiblen Systemen typischerweise einem spezifischen Workflow:

Schritt 1: Die Sperre anfordern

Vor der Bearbeitung fordert ein Client eine Sperre für die Ressource mithilfe der `LOCK`-Methode an.

LOCK /documents/report.txt HTTP/1.1
Host: example.comTimeout: Second-3600Content-Type: application/xmlContent-Length: 150
<?xml version="1.0" encoding="utf-8"?>
<D:lockinfo xmlns:D="DAV:"><D:lockscope><D:exclusive/></D:lockscope><D:locktype><D:write/></D:locktype><D:owner>Alice</D:owner></D:lockinfo>

Schritt 2: Der Server erteilt die Sperre

Der Server antwortet mit einem Erfolg und stellt ein Sperr-Token bereit.

HTTP/1.1 200 OKContent-Type: application/xmlLock-Token: <urn:uuid:e71d4fae-5dec-22d6-fea5-00a0c91e6be4>
<?xml version="1.0" encoding="utf-8"?>
<D:prop xmlns:D="DAV:"><D:lockdiscovery><D:activelock><D:locktype><D:write/></D:locktype><D:lockscope><D:exclusive/></D:lockscope><D:depth>0</D:depth><D:owner>Alice</D:owner><D:timeout>Second-3600</D:timeout><D:locktoken><D:href>urn:uuid:e71d4fae-5dec-22d6-fea5-00a0c91e6be4</D:href></D:locktoken></D:activelock></D:lockdiscovery></D:prop>

Schritt 3: Bob versucht zu bearbeiten

Während Alice die Sperre hält, versucht Bob, dasselbe Dokument zu ändern.

PUT /documents/report.txt HTTP/1.1Host: example.comContent-Type: text/plain
This is Bob's attempted change.

Schritt 4: Der Server gibt 423 Locked zurück

Der Server prüft und stellt fest, dass Alice eine exklusive Sperre für die Ressource hat.

HTTP/1.1 423 LockedContent-Type: application/xml
<?xml version="1.0" encoding="utf-8"?>
<D:error xmlns:D="DAV:"><D:lock-token-submitted><D:href>/documents/report.txt</D:href></D:lock-token-submitted></D:error>

Schritt 5: Alice gibt die Sperre frei

Wenn Alice mit der Bearbeitung fertig ist, gibt sie die Ressource explizit frei.

UNLOCK /documents/report.txt HTTP/1.1
Host: example.comLock-Token: <urn:uuid:e71d4fae-5dec-22d6-fea5-00a0c91e6be4>

Arten von Sperren in WebDAV

WebDAV unterstützt verschiedene Sperrstrategien:

Exklusive Sperren

Nur ein Benutzer kann gleichzeitig eine exklusive Sperre halten. Dies ist der häufigste Typ und bietet die stärkste Konfliktvermeidung.

Gemeinsame Sperren

Mehrere Benutzer können gleichzeitig gemeinsame Sperren halten, aber niemand kann eine exklusive Sperre erhalten, solange gemeinsame Sperren existieren. Dies ist nützlich zum Lesen, während Änderungen verhindert werden.

423 vs. 409 Conflict: Den Unterschied verstehen

Dies ist eine wichtige Unterscheidung in der Welt des gleichzeitigen Zugriffs:

Analogie:

Moderne Anwendungen jenseits von WebDAV

Obwohl 423 von WebDAV stammt, wird das Konzept der Ressourcensperrung in modernen Anwendungen weit verbreitet eingesetzt:

1. Kollaborative Dokumenteneditoren

Tools wie Google Docs, Notion und Confluence verwenden ähnliche Sperrmechanismen, um anzuzeigen, wenn jemand anderes ein Dokument aktiv bearbeitet.

2. Datenbank- und Datensatzsperrung

Viele Anwendungen implementieren pessimistische Sperren auf Datenbankebene, um gleichzeitige Aktualisierungen desselben Datensatzes zu verhindern.

3. E-Commerce-Inventarsysteme

Wenn Sie einen Artikel in Ihren Warenkorb legen, kann das System diesen Bestand vorübergehend „sperren“, um einen Überverkauf zu verhindern, während Sie Ihren Kauf abschließen.

4. Datei-Upload und -Verarbeitung

Ein System könnte eine Datei sperren, während sie verarbeitet wird (z. B. Virenscan, Bildoptimierung), um zu verhindern, dass andere Operationen stören.

423 Locked in RESTful APIs: Sollten Sie es verwenden?

Absolut, aber mit Vorsicht.

Im **REST-API-Design** kann die Verwendung von 423 vorteilhaft sein, wenn:

Wenn Sie jedoch APIs für eine breitere Verwendung (außerhalb von WebDAV-Kontexten) entwerfen, sollten Sie stattdessen **409 Conflict** für allgemeine Statuskonflikte zurückgeben, da 423 spezifischer ist.

APIs mit Apidog testen

Das Testen von Szenarien mit gleichzeitigem Zugriff ist eine Herausforderung, aber entscheidend. **Apidog** bietet hervorragende Funktionen zum Testen dieser komplexen Workflows.

Mit Apidog können Sie:

  1. **Mehrere Benutzer simulieren:** Erstellen Sie verschiedene Anfragen mit unterschiedlichen Authentifizierungs-Tokens, um Alice und Bob zu simulieren, die an derselben Ressource arbeiten.
  2. **Sperranforderung testen:** Senden Sie `LOCK`-Anfragen (wenn Sie einen WebDAV-Server testen) oder Ihren benutzerdefinierten Sperr-Endpunkt und überprüfen Sie, ob Sie die korrekte Antwort mit einem Sperr-Token erhalten.
  3. **Sperrdurchsetzung testen:** Lassen Sie „Alice“ eine Sperre erwerben, lassen Sie dann „Bob“ versuchen, die Ressource zu ändern, und überprüfen Sie, ob er eine `423 Locked`-Antwort erhält.
  4. **Sperrfreigabe testen:** Überprüfen Sie, dass „Bob“ die Ressource erfolgreich ändern kann, nachdem „Alice“ die Sperre freigegeben hat.
  5. **Sperrszenarien automatisieren:** Erstellen Sie Testszenarien, die automatisch komplette Sperr-Workflows durchlaufen, um sicherzustellen, dass Ihre Sperrlogik korrekt funktioniert.
button

Dies ist besonders wertvoll für Anwendungen, die sensible Daten verarbeiten oder starke Konsistenzgarantien erfordern.

Best Practices für die Implementierung von Sperren

Für Serverentwickler:

Für Client-Entwickler:

Häufige Missverständnisse über HTTP 423

Lassen Sie uns ein paar Mythen entlarven.

❌ „Es ist ein Berechtigungsfehler.“

Nein, das ist 403 Forbidden. 423 ist temporär und ressourcenspezifisch.

❌ „Es bedeutet, dass mein Server ausgefallen ist.“

Nein. Ihr Server funktioniert einwandfrei; er schützt lediglich eine Ressource vor gleichzeitigen Bearbeitungen.

❌ „Es gilt nur für WebDAV.“

Obwohl in WebDAV definiert, verwenden moderne REST-APIs 423 auch, wenn es in den Kontext passt.

Potenzielle Fallstricke und Überlegungen

Obwohl Sperren mächtig ist, birgt es einige Herausforderungen:

  1. **Deadlocks:** Wenn zwei Prozesse jeweils eine Ressource sperren und dann versuchen, das zu sperren, was der andere hat, können sie in einen Deadlock geraten.
  2. **Performance-Overhead:** Das Verwalten von Sperren erhöht die Komplexität und kann die Leistung beeinträchtigen.
  3. **Benutzererfahrung:** Schlecht implementierte Sperren können Benutzer frustrieren, wenn sie über längere Zeiträume blockiert sind.
  4. **Veraltete Sperren:** Wenn ein Client abstürzt, ohne seine Sperre freizugeben, kann die Ressource gesperrt bleiben, bis das Timeout abläuft.

Fazit: Das kollaborative Sicherheitsnetz

Der HTTP-Statuscode `423 Locked` stellt eine elegante Lösung für das komplexe Problem des gleichzeitigen Zugriffs dar. Obwohl er im WebDAV-Protokoll entstand, ist das Konzept der Ressourcensperrung grundlegend für den Aufbau zuverlässiger, kollaborativer Anwendungen.

Zu verstehen, wann und wie man Sperren verwendet und wann man alternative Strategien wie optimistische Nebenläufigkeitskontrolle einsetzt, ist eine Schlüsselkompetenz für Entwickler, die Mehrbenutzersysteme erstellen. Der `423`-Code ist kein Fehler, den man fürchten muss; er ist eine Funktion, die eine sichere Zusammenarbeit ermöglicht.

Durch die Implementierung geeigneter Sperrmechanismen und die elegante Behandlung von `423`-Antworten können Sie Anwendungen erstellen, die Datenbeschädigung verhindern und eine reibungslose kollaborative Erfahrung bieten. Und wenn Sie diese komplexen gleichzeitigen Szenarien testen müssen, bietet Ihnen ein leistungsstarkes Tool wie **Apidog** die Kontrolle und Transparenz, um sicherzustellen, dass Ihre Sperrlogik unter realen Bedingungen einwandfrei funktioniert.

button

Praktizieren Sie API Design-First in Apidog

Entdecken Sie eine einfachere Möglichkeit, APIs zu erstellen und zu nutzen