HTTP statusa kodi ir standarta kodi, ko tīmekļa serveri izmanto, lai informētu klientu (piemēram, pārlūkprogrammu) par tā pieprasījumu rezultātiem. Šie kodi ir definēti HTTP specifikācijās, un tos izmanto, lai noteiktu pieprasītā resursa statusu un sniegtu informāciju par darbībām, kas jāveic, lai pabeigtu pieprasījumu.
Vēsture un mērķis
HTTP statusa kodi tika ieviesti HTTP specifikācijā, lai nodrošinātu standartizētu saziņas veidu starp tīmekļa serveriem un klientiem. Šie kodi palīdz automatizēt kļūdu apstrādi, norāda uz turpmākajām klienta darbībām un sniedz diagnostisko informāciju. Tie nošķir veiksmīgus un neveiksmīgus pieprasījumus, novirzīšanu un norāda uz konkrētām problēmām.
Statusa kodu struktūra un diapazoni
HTTP statusa kodi ir trīsciparu skaitļi. Pirmais cipars nosaka statusa klasi, norādot vispārējo atbildes veidu. Pastāv piecas statusu klases:
- 1xx: Informatīvas atbildes
- Šie kodi norāda, ka pieprasījums ir saņemts un process turpinās.
- 2xx: Veiksmīgas atbildes
- Šie kodi norāda, ka pieprasījums ir veiksmīgi saņemts, saprasts un pieņemts.
- 3xx: Novirzīšana
- Šie kodi norāda, ka klientam jāveic turpmāka darbība, lai pabeigtu pieprasījumu.
- 4xx: Klienta kļūdas
- Šie kodi norāda uz kļūdām, ko izraisījuši nepareizi klienta pieprasījumi.
- 5xx: Servera kļūdas
- Šie kodi norāda uz kļūdām, ko izraisījušas kļūmes servera pusē.
Detalizēts statusa kodu apraksts
1xx: Informatīvas atbildes
- 100 Turpināt: Serveris ir saņēmis pieprasījuma sākotnējo daļu, un klientam jāturpina.
- 101 Protokolu pārslēgšana: Serveris piekrīt pārslēgt protokolus, kā to pieprasījis klients.
- 102 Apstrāde: Serveris ir pieņēmis pieprasījumu, taču apstrāde nav pabeigta.
2xx: Veiksmīgas atbildes
- 200 Labi: Pieprasījums tika veiksmīgi apstrādāts, un serveris atgrieza pieprasīto resursu.
- 201 Izveidots: Pieprasījums tika veiksmīgi izpildīts, un tika izveidots jauns resurss.
- 202 Pieņemts: Pieprasījums ir pieņemts apstrādei, taču apstrāde nav pabeigta.
- 203 Neautorizēta informācija: Pieprasījums tika veiksmīgi apstrādāts, taču informācija ir iegūta no cita avota.
- 204 Nav satura: Pieprasījums tika veiksmīgi apstrādāts, taču atbildē nav satura, ko nosūtīt.
- 205 Atiestatīt saturu: Pieprasījums tika veiksmīgi apstrādāts, un klientam jāatiestata skats.
- 206 Daļējs saturs: Serveris, atbildot uz diapazona pieprasījumu, atgriež daļu satura.
3xx: Novirzīšana
- 300 Vairākas izvēles: Pieprasījumu var izpildīt vairākos veidos.
- 301 Pārvietots neatgriezeniski: Pieprasītais resurss ir neatgriezeniski pārvietots uz jaunu URL.
- 302 Atrasts: Pieprasītais resurss īslaicīgi ir pieejams citā URL.
- 303 Skatīt citu: Resurss jāiegūst, izmantojot GET pieprasījumu uz citu URL.
- 304 Nav modificēts: Pieprasītais resurss kopš pēdējā pieprasījuma nav modificēts.
- 305 Izmantot starpniekserveri: Pieprasītajam resursam jāpiekļūst, izmantojot starpniekserveri.
- 307 Pagaidu novirzīšana: Pieprasītais resurss īslaicīgi ir pieejams citā URL.
- 308 Pastāvīga novirzīšana: Pieprasītais resurss ir neatgriezeniski pārvietots uz jaunu URL.
4xx: Klienta kļūdas
- 400 Nederīgs pieprasījums: Serveris nevar apstrādāt pieprasījumu klienta kļūdas dēļ.
- 401 Nav autorizēts: Lai piekļūtu resursam, ir nepieciešama autentifikācija.
- 402 Nepieciešams maksājums: Kods ir rezervēts turpmākai izmantošanai.
- 403 Aizliegts: Serveris atsakās izpildīt pieprasījumu.
- 404 Nav atrasts: Pieprasīto resursu neizdevās atrast.
- 405 Metode nav atļauta: Pieprasījuma metode nav atļauta pieprasītajam resursam.
- 406 Nav pieņemams: Pieprasīto resursu nevar nodrošināt pieņemamā formātā.
- 407 Nepieciešama starpniekservera autentifikācija: Nepieciešama starpniekservera autentifikācija.
- 408 Pieprasījuma noildze: Pieprasījumam beidzās noildzes laiks.
- 409 Konflikts: Pieprasījumu nevar apstrādāt konflikta ar resursa pašreizējo stāvokli dēļ.
- 410 Vairs nav pieejams: Pieprasītais resurss vairs nav pieejams un vairs nebūs pieejams.
- 411 Nepieciešams garums: Pieprasījumā jānorāda satura garums.
- 412 Priekšnosacījums nav izpildīts: Pieprasījuma galvenēs norādītais priekšnosacījums ir aplams.
- 413 Lietderīgā slodze ir pārāk liela: Pieprasījuma entītija ir lielāka, nekā serveris vēlas vai spēj apstrādāt.
- 414 URI ir pārāk garš: Pieprasījuma URI ir pārāk garš.
- 415 Neatbalstīts multivides tips: Pieprasījuma entītijai ir multivides tips, ko serveris vai resurss neatbalsta.
- 416 Diapazons nav apmierināms: Klients ir pieprasījis faila daļu, taču serveris nevar nodrošināt šo daļu.
- 417 Gaidas nav izpildītas: Serveris nevar izpildīt pieprasījuma galvenes lauka Expect prasības.
- 418 Esmu tējkanna: Humoristisks kods, kas ieviests RFC 2324.
5xx: Servera kļūdas
- 500 Iekšēja servera kļūda: Vispārīgs kļūdas ziņojums, kad serveris sastopas ar neparedzētu stāvokli.
- 501 Nav ieviests: Serveris neatbalsta funkcionalitāti, kas nepieciešama pieprasījuma izpildei.
- 502 Nederīga vārteja: Serveris saņēma nederīgu atbildi no ienākošā servera.
- 503 Pakalpojums nav pieejams: Serveris pašlaik nav pieejams.
- 504 Vārtejas noildze: Serveris laikus nesaņēma atbildi no augšupējā servera.
- 505 HTTP versija netiek atbalstīta: Serveris neatbalsta pieprasījumā izmantoto HTTP versiju.
- 506 Variants arī piedalās sarunās: Caurspīdīga satura sarunāšana pieprasījumam izraisa ciklisku atsauci.
- 507 Nepietiekama krātuves vieta: Serveris nevar saglabāt pieprasījuma pabeigšanai nepieciešamo reprezentāciju.
- 508 Konstatēta cilpa: Serveris pieprasījuma apstrādes laikā konstatēja bezgalīgu cilpu.
- 510 Nav paplašināts: Lai serveris varētu izpildīt pieprasījumu, ir nepieciešami papildu paplašinājumi.
- 511 Nepieciešama tīkla autentifikācija: Lai iegūtu piekļuvi tīklam, ir nepieciešama autentifikācija.
Secinājums
HTTP statusa kodiem ir būtiska nozīme tīmekļa lietojumprogrammu un pakalpojumu darbībā. Tie nodrošina standartizētu saziņu starp serveriem un klientiem, palīdzot pārvaldīt datu plūsmu un apstrādāt kļūdas. Šo kodu izpratne ir būtiska izstrādātājiem un administratoriem, jo tā ļauj efektīvi risināt problēmas un optimizēt tīmekļa resursus.
