409

Conflict

Oficiālais
Ressouce pašreizējā stāvoklī bija konflikts

HTTP statusa koda 409 specifikācija

Statusa kods 409 Conflict norāda, ka pieprasījumu nav bijis iespējams izpildīt konflikta dēļ ar mērķa resursa pašreizējo stāvokli. Šo kodu izmanto situācijās, kad lietotājs varētu atrisināt konfliktu un atkārtoti iesniegt pieprasījumu. Serverim IR JĀĢenerē ielāde, kurā ir pietiekami daudz informācijas, lai lietotājs varētu atpazīt konflikta avotu.

Konflikti visbiežāk rodas, atbildot uz PUT pieprasījumu. Piemēram, ja tiek izmantota versiju atlase un PUT izvietojumā ir iekļautas izmaiņas resursā, kas ir pretrunā ar izmaiņām, kas veiktas ar iepriekšējo (trešās puses) pieprasījumu, izcelsmes serveris varētu izmantot 409 Conflict atbildi, lai norādītu, ka tas nevar izpildīt pieprasījumu. Šādā gadījumā atbildes attēlojums, visticamāk, saturētu informāciju, kas būtu noderīga atšķirību apvienošanai, pamatojoties uz pārskatīšanas vēsturi.

Avots / citāts no: 409 Conflict HTTP statusa kods ir norādīts 6.5.8 sadaļā 6.5.8.

Kā, izmantojot PHP, ievadīt 409 statusa kodu?

Lai tīmekļa lapā norādītu HTTP statusa kodu 409, var izmantot PHP funkciju http_response_code. Sintakse ir šāda: http_response_code(409) (PHP 5 >= 5.4.0, PHP 7, PHP 8)

Pārbaudīt 409 HTTP statusa kodu

Lai klienta pusē varētu attēlot HTTP statusa kodu (šajā gadījumā 409 Conflict) un citu informāciju, ar F12 ir jāatver izstrādes konsole. Pēc tam dodieties uz cilni "Tīkls". Tagad lapu var atvērt, tīmekļa vietnei (piemērs index.php) jābūt redzamai tīkla cilnē. Tā ir jāizvēlas un pēc tam jāizvēlas sadaļa Herder. Pēc tam lietotājs redzēs šādu rezultātu:

Statusa kods 409 Conflict
Pārskats
URL: https://http-statuscode.com/errorCodeExample.php?code=409
Statuss: 409 Conflict
Šie: Network
IP adrese: XX.XX.XX.XX
Statusa kods 409 Conflict

Kā atrisināt problēmu ar 409 statusa kodu?

Konflikta statusa kods 409 Conflict norāda, ka klienta nosūtītais pieprasījums ir konfliktā ar mērķa resursa pašreizējo stāvokli. Tas var notikt, piemēram, ja divi klienti vienlaicīgi mēģina atjaunināt vienu un to pašu resursu.

Konflikta statusa koda 409 Conflict cēloņi

  • Vienlaicīgi atjauninājumi: kā minēts iepriekš, bieži sastopams 409 Conflict statusa koda iemesls ir vairāku klientu mēģinājumi vienlaikus mainīt resursu.
  • Nesaskaņoti dati: Ja klients nosūta datus, kas neatbilst servera paredzētajiem formatēšanas vai validēšanas noteikumiem, var tikt atgriezts 409 Conflict statusa kods.
  • Logiski konflikti: Pat tad, ja dati ir formatēti pareizi, var rasties loģiski konflikti. Kā piemēru var minēt rezervēšanas sistēmu, kurā divi cilvēki mēģina rezervēt vienu un to pašu vietu vienā un tajā pašā laikā.

Pakāpes 409 Conflict konflikta statusa koda novēršanai:

    • Datu validācija: Pārliecinieties, ka klienta nosūtītie dati ir pareizi formatēti un konsekventi. Pārbaudiet servera sniegtos validēšanas noteikumus un attiecīgi pielāgojiet pieprasījumu.
    • Imēģiniet ieviest bloķēšanas mehānismus: Sistēmās, kurās pastāv vienlaicīgu atjauninājumu iespēja, var būt noderīgs bloķēšanas mehānisms. Tas novērš iespēju, ka vairāk nekā viens lietotājs vienlaicīgi veic izmaiņas resursā.
    • Implementējiet versiju kontroli:
    • Atgriezeniskā saziņa lietotājam: ja rodas 409 Conflict konflikts, klients jāinformē ar skaidru un saprotamu kļūdas ziņojumu, lai viņš zinātu, kā rīkoties.
    • Servera žurnālu pārskatīšana: Bieži vien servera žurnālos ir papildu informācija par konflikta cēloni. Šo žurnālu pārlūkošana var precīzi noskaidrot problēmu.
    • Reģistrēšanas loģika: Dažos gadījumos var būt lietderīgi automātiski atkārtoti nosūtīt pieprasījumu, jo īpaši, ja konfliktu izraisījuši īslaicīgi apstākļi, kas var ātri mainīties.
    .

Kā izveidot savu kļūdas lapu statusa kodam 409

Gan ar Apache, gan NGINX tīmekļa serveriem ir salīdzinoši viegli izveidot savu 409 Conflict. kļūdas lapu.

Apache Webserver

Tīmekļa serveris "Apache" ir viens no visizplatītākajiem tīmekļa serveriem internetā. Lai "Apache" serverī izveidotu savu 409 Conflict. kļūdas lapu, šajā failā jāveic šādas izmaiņas.

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

NGINX Webserver

Līdzīgi kā tīmekļa serveris "Apache", arī "NGINX" tiek plaši izmantots internetā. Lai izveidotu savu 409 Conflict. kļūdas lapu "NGINX" serverī, ir jāveic šādas izmaiņas šajā failā.

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

409 statusa koda saderība ar pārlūkprogrammu

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

Konstantes programmēšanas valodās

HttpStatusCode.Conflict
http.StatusConflict
Response::HTTP_CONFLICT
httplib.CONFLICT
http.client.CONFLICT
http.HTTPStatus.CONFLICT
:conflict

Izklaidējošas memes par HTTP statusa kodu 409

Autors: Tony Brüser
Autors: Tony Brüser

Tonijs Brūsers ir aizrautīgs tīmekļa izstrādātājs, kurš aizraujas ar HTTP statusa kodiem.

LinkedInGitHub