409

Conflict

Uradna stran
V trenutnem stanju Ressouce je prišlo do spora.

Specifikacija kode stanja HTTP 409

Stavna koda 409 Conflict označuje, da zahteve ni bilo mogoče dokončati zaradi konflikta s trenutnim stanjem ciljnega vira. Ta koda se uporablja v primerih, ko lahko uporabnik razreši konflikt in ponovno pošlje zahtevo. Strežnik JE PRAVILNO ustvaril koristni tovor, ki vsebuje dovolj informacij, da lahko uporabnik prepozna vir konflikta.

Konflikti se najverjetneje pojavijo kot odgovor na zahtevo PUT. Če bi se na primer uporabljalo določanje različic in bi predstavitev, ki je bila PUT, vključevala spremembe vira, ki bi bile v nasprotju s spremembami, izvedenimi s prejšnjo zahtevo (tretje osebe), bi lahko izvorni strežnik z odgovorom 409 Conflict sporočil, da zahteve ne more dokončati. V tem primeru bi odzivna predstavitev verjetno vsebovala informacije, koristne za združevanje razlik na podlagi zgodovine revizij.

Vir / citat iz: Koda stanja HTTP 409 Conflict je določena v razdelku 6.5.8 oddelka RFC7231.

Kako s PHP vrniti kodo stanja 409?

Za prikaz kode stanja HTTP 409 na spletni strani lahko uporabite funkcijo PHP http_response_code. Sintaksa je naslednja: http_response_code(409) (PHP 5 >= 5.4.0, PHP 7, PHP 8)

Preizkus kode stanja HTTP 409

Če želite prikazati kodo stanja HTTP (v tem primeru 409 Conflict) in druge informacije na strani odjemalca, morate s tipko F12 odpreti razvojno konzolo. Nato pojdite na zavihek "Omrežje". Zdaj lahko odprete stran, spletno mesto (primer index.php) mora biti vidno v zavihku omrežje. To je treba izbrati, nato pa je treba izbrati razdelek Herder. Uporabnik bo nato videl naslednji rezultat:

Koda stanja 409 Conflict
Pregled
URL: https://http-statuscode.com/errorCodeExample.php?code=409
Status: 409 Conflict
Ti: Network
Naslov IP: XX.XX.XX.XX
Koda stanja 409 Conflict

Kako lahko rešim težavo s kodo stanja 409?

Koda stanja konflikta 409 Conflict označuje, da je zahteva, ki jo je poslal odjemalec, v konfliktu s trenutnim stanjem ciljnega vira. To se lahko zgodi na primer, ko dva odjemalca hkrati poskušata posodobiti isto sredstvo.

Primeri kode stanja konflikta 409 Conflict

  • Sočasne posodobitve: Kot smo že omenili, je pogost vzrok kode stanja 409 Conflict poskus več odjemalcev, da hkrati spremenijo sredstvo.
  • Neskladni podatki: Če odjemalec pošlje podatke, ki niso skladni s pričakovanim oblikovanjem ali pravili potrjevanja strežnika, se lahko vrne koda stanja 409 Conflict.
  • Logična nasprotja: Tudi če so podatki pravilno oblikovani, lahko pride do logičnih nasprotij. Primer je sistem rezervacij, v katerem dve osebi poskušata istočasno rezervirati isti sedež.

Postopki za odpravo statusne kode 409 Conflict Conflict:

  • Potrjevanje podatkov: Zagotovite, da so podatki, ki jih pošlje odjemalec, pravilno oblikovani in skladni. Preverite pravila potrjevanja, ki jih zagotavlja strežnik, in ustrezno prilagodite svojo zahtevo.
  • Implementacija mehanizmov zaklepanja: Za sisteme, kjer obstaja možnost hkratnih posodobitev, je lahko koristen mehanizem zaklepanja. Ta preprečuje, da bi več kot en uporabnik hkrati spremenil vir.
  • Implementacija nadzora različic: Z označevanjem vsakega stanja vira z različico lahko odjemalci zagotovijo, da vedno delajo z najnovejšo različico.
  • Povratna informacija za uporabnika: Ko pride do konflikta 409 Conflict, mora biti odjemalec obveščen z jasnim in razumljivim sporočilom o napaki, da ve, kako naj ravna.
  • Pregled strežniških dnevnikov: Pogosto strežniški dnevniki vsebujejo dodatne informacije o vzroku konflikta. Iskanje teh dnevnikov lahko natančno osvetli, v čem je težava.
  • Logika ponovnega pošiljanja: V nekaterih primerih je morda koristno samodejno ponovno poslati zahtevo, zlasti če je konflikt posledica kratkoročnih pogojev, ki se lahko hitro spremenijo.
.

Kako ustvariti lastno stran z napako za kodo stanja 409

Ustvarjanje lastne strani z napako 409 Conflict je razmeroma enostavno tako v spletnih strežnikih Apache kot NGINX.

Apache Webserver

Spletni strežnik Apache je eden najpogostejših spletnih strežnikov v internetu. Če želite v strežniku "Apache" ustvariti lastno stran z napako 409 Conflict, morate v naslednji datoteki narediti naslednjo spremembo.

File: .htaccess
ErrorDocument 409 /errors/409.html

NGINX Webserver

Podobno kot spletni strežnik Apache se tudi NGINX pogosto uporablja na internetu. Če želite v strežniku "NGINX" ustvariti lastno stran z napako 409 Conflict, morate v naslednji datoteki narediti naslednjo spremembo.

File: sites-enabled/default
error_page 409 /409.html;
location = /409.html {
    root /usr/share/nginx/html;
    internal;
}

Združljivost kode stanja 409 z brskalniki

Chrome no data
Edge no data
Firefox no data
Opera no data
Safari no data
Chrome Android no data
Firefox for Android no data
Opera Android no data
Safari on iOS no data
Internet no data
WebView Android no data

Konstante v programskih jezikih

HttpStatusCode.Conflict
http.StatusConflict
Response::HTTP_CONFLICT
httplib.CONFLICT
http.client.CONFLICT
http.HTTPStatus.CONFLICT
:conflict
Avtor: Tony Brüser
Avtor: Tony Brüser

Tony Brüser je navdušen spletni razvijalec, ki je navdušen nad kodami stanja HTTP.

LinkedInGitHub