HTTP

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.

Izvori