HTTP 409 Sukob stanja
409 Conflict znači da se zahtjev ne može dovršiti jer je u sukobu s aktualnim stanjem resursa na poslužitelju.
Značenje
409 često koriste API-ji kada korisnik pokušava otvoriti račun s već postojećom adresom e-pošte, spremiti zapis koji je netko drugi u međuvremenu promijenio ili poslati Git push prema pomaknutoj grani. Odgovor treba jasno opisati sukob da ga klijent može riješiti.
Najčešći uzroci
- Resurs s jednakim jedinstvenim ključem već postoji u sustavu.
- Dvije osobe istodobno uređuju isti zapis (optimističko zaključavanje).
- Nije dopušten prijelaz stanja, primjerice otkazivanje već otpremljene narudžbe.
- Verzija datoteke ili objekta ne odgovara verziji koju je klijent očekivao.
Što može učiniti posjetitelj?
- Osvježite stranicu da biste učitali najnovije stanje pa pokušajte ponovno nakon provjere promjena.
- Ako se 409 pojavi tijekom registracije, račun s tim podacima možda već postoji.
Što može učiniti vlasnik stranice?
- U tijelu API odgovora navedite što je u sukobu i kako ga korisnik može riješiti.
- Za konkurentna uređivanja koristite ETag i If-Match, koji mogu vratiti i status 412.
- Nemojte koristiti 409 za opće pogreške provjere unosa; za njih su prikladniji 400 ili 422.
Utjecaj na SEO
HTTP 409 uglavnom se pojavljuje u API-jima i obrascima, a ne pri učitavanju javnih stranica, pa sam po sebi ne utječe na njihov SEO.
Česta pitanja
Je li HTTP 409 poslužiteljska pogreška?
Ne. Poslužitelj radi, ali zahtjev nije u skladu s trenutačnim stanjem resursa i treba riješiti sukob.
Kako popraviti HTTP 409 u API-ju?
Dohvatite najnovije stanje resursa, uskladite lokalne promjene s njim i tek zatim ponovno pošaljite zahtjev.