Statuscode 409 Conflict
Was bedeutet der Statuscode 409 Conflict?
Der Statuscode 409 Conflict zeigt an, dass die Anfrage aufgrund eines Konflikts mit dem aktuellen Zustand der Zielressource nicht abgeschlossen werden konnte. Dieser Code wird in Situationen verwendet, in denen der Benutzer in der Lage sein könnte, den Konflikt zu lösen und die Anfrage erneut zu senden.
Wann treten Konflikte auf?
Die 409 Conflict Antwort wird in die Header-Felddefinition “Client-Error” eingefügt. Der Statuscode 409 wird verwendet, um anzuzeigen, dass die Anfrage aufgrund eines Konflikts mit dem aktuellen Zustand der Ressource nicht abgeschlossen werden konnte. Dieser Code ist nur in Situationen erlaubt, in denen erwartet wird, dass der Benutzer in der Lage sein könnte, den Konflikt zu lösen und die Anfrage erneut einzureichen.
Konflikte treten am ehesten als Antwort auf eine PUT-Anfrage auf. Wenn beispielsweise die Versionierung verwendet wurde und die Darstellung PUT Änderungen an einer Ressource enthielt, die mit denen einer früheren (Fremd-)Anfrage kollidieren, könnte der Ursprungsserver eine 409-Antwort verwenden, um anzuzeigen, dass er die Anfrage nicht abschließen kann. In diesem Fall würde die Antwortdarstellung wahrscheinlich Informationen enthalten, die für das Zusammenführen der Unterschiede auf der Grundlage der Revisionshistorie nützlich sind.
Der Webserver (der die Website betreibt) geht bei einem 409 Conflict davon aus, dass die Anfrage des Clients (z.B. der Webbrowser oder der CheckUpDown-Roboter) nicht abgeschlossen werden kann, weil sie mit einer bereits festgelegten Regel kollidiert. Beispielsweise kann ein Fehler 409 Conflict auftreten, wenn Nutzer versuchen, eine Datei auf den betreffenden Webserver hochzuladen, die älter ist als die bereits vorhandene – was zu einem Versionskontrollkonflikt führt. In der Regel bezieht sich der Konflikt hier nicht auf die Standard-Web-Server-Autorität/Sicherheit (für die unterschiedliche Fehler generiert werden), sondern auf einen anwendungsspezifischen Konflikt, der nicht im HTTP-Protokoll selbst definiert ist.
Wie behebt man den Statuscode 409 Conflict?
Dieser Fehler tritt bei den meisten Web-Verkehren selten auf, insbesondere wenn das Client-System ein Web-Browser ist. Das Problem kann nur gelöst werden, indem Nutzer prüfen, was ihr Client-System auszuführen versucht und dann klären, warum dieses Verhalten im betreffenden Fall nicht erlaubt ist.
Jeder Client (z.B. CheckUpDown-Roboter oder Webbrowser) durchläuft einen festgelegten Zyklus, wenn er mit dem zugehörigen Webserver kommuniziert:
- Erhalten der IP-Adresse aus dem IP-Namen der Website (die Website-URL ohne das führende “http://”). Dieser Lookup (Umwandlung von IP-Namen in IP-Adressen) wird von Domain Name Servern (DNSs) bereitgestellt.
- Öffnen einer IP-Socket-Verbindung zu dieser IP-Adresse.
- Schreiben eines HTTP-Datenstroms über diesen Socket.
Es erfolgt als Antwort ein HTTP-Datenstrom vom Web-Server zurück. Dieser Datenstrom enthält Statuscodes, deren Werte durch das HTTP-Protokoll bestimmt werden.
Sie haben noch Fragen?