HTTP

HTTP 409 Zustandskonflikt

409 Conflict bedeutet, dass die Anfrage wegen eines Konflikts mit dem aktuellen Zustand einer Ressource nicht abgeschlossen werden kann.

Bedeutung

409 tritt häufig in APIs auf, wenn eine bereits vorhandene E-Mail registriert wird, jemand einen inzwischen veränderten Datensatz speichert oder ein Git-Push auf einen weiterbewegten Branch trifft. Die Antwort sollte den konkreten Konflikt benennen, damit der Client ihn auflösen kann.

Häufige Ursachen

  • Eine Ressource mit demselben eindeutigen Schlüssel existiert bereits.
  • Zwei Personen bearbeiten denselben Datensatz gleichzeitig (Optimistic Locking).
  • Ein ungültiger Zustandswechsel wird versucht, etwa das Stornieren einer bereits versendeten Bestellung.
  • Die Dateiversion stimmt nicht mit der erwarteten Objektversion überein.

Was können Besucher tun?

  • Laden Sie den aktuellen Stand neu und versuchen Sie es nach Prüfung der Änderungen erneut.
  • Tritt 409 bei einer Registrierung auf, könnte bereits ein Konto mit diesen Angaben vorhanden sein.

Was können Betreiber tun?

  • Beschreiben Sie in der API-Antwort den Konflikt und mögliche Schritte zur Auflösung.
  • Nutzen Sie für parallele Änderungen ETag und If-Match, was auch den Status 412 ergeben kann.
  • Verwenden Sie 409 nicht für allgemeine Validierungsfehler; dafür passen 400 oder 422 besser.

SEO-Auswirkungen

409-Antworten betreffen normalerweise APIs und Formulare, nicht öffentliche HTML-Seiten. Daher beeinflussen sie das Ranking öffentlicher Seiten in der Regel nicht.

Häufige Fragen

Ist HTTP 409 ein Serverfehler?

Nein. Der Server funktioniert, aber die angeforderte Änderung widerspricht dem aktuellen Zustand der Ressource.

Wie kann ich HTTP 409 in einer API beheben?

Laden Sie den aktuellen Ressourcenzustand, gleichen Sie Ihre Änderungen ab und senden Sie anschließend einen passenden neuen Request.

Quellen