Junior
Pasakykite apie HTTP būsenos kodus.
sobes.tech AI
Atsakymas iš AI
HTTP būsenos kodai yra trijų skaitmenų skaičiai, kuriuos serveris grąžina kaip atsakymą į kliento užklausą ir nurodo užklausos apdorojimo rezultatą. Jie klasifikuojami pagal pirmąjį skaitmenį:
- 1xx (Informaciniai): Užklausa priimta, apdorojimas tęsiasi.
- 2xx (Sėkmė): Užklausa sėkmingai gauta, suprasta ir priimta.
- 3xx (Nukreipimas): Norint užbaigti užklausą, reikalingi papildomi veiksmai.
- 4xx (Kliento klaida): Užklausa turi sintaksės klaidą arba jos įvykdyti negalima.
- 5xx (Serverio klaida): Serveris negalėjo tinkamai įvykdyti teisingai suformuluotos užklausos.
Dažniausiai pasitaikančių kodų pavyzdžiai:
| Kodas | Kategorija | Reikšmė | Aprašymas |
|---|---|---|---|
| 100 | Informacinis | Tęsti | Serveris gavo pradžią užklausos dalį |
| 200 | Sėkmė | Gerai | Užklausa sėkmingai įvykdyta |
| 201 | Sėkmė | Sukurta | Užklausa įvykdyta, sukurtas naujas išteklis |
| 204 | Sėkmė | Be turinio | Užklausa įvykdyta, atsakymas neturi kūno |
| 301 | Nukreipimas | Nuolatinis perkėlimas | Išteklis nuolat perkeltas |
| 302 | Nukreipimas | Laikinai perkeltas | Išteklis laikinai perkeltas |
| 304 | Nukreipimas | Nepakitęs | Išteklis nuo paskutinės užklausos nepasikeitė |
| 400 | Kliento klaida | Bloga užklausa | Netinkama užklausos sintaksė |
| 401 | Kliento klaida | Neautorizuota | Reikalaujama autentifikacija |
| 403 | Kliento klaida | Draudžiama | Prieiga prie išteklio uždrausta |
| 404 | Kliento klaida | Nerasta | Išteklis nurodytu URL nerastas |
| 405 | Kliento klaida | Metodas neleidžiamas | Naudotas HTTP metodas neleidžiamas |
| 500 | Serverio klaida | Vidinė serverio klaida | Vidinė serverio klaida |
| 502 | Serverio klaida | Bloga vartai | Netinkamas atsakymas iš aukštesniojo serverio |
| 503 | Serverio klaida | Paslauga neprieinama | Serveris laikinai neprieinamas |
Žinojimas apie būsenos kodus padeda suprasti klaidos priežastį, išspręsti problemas ir nustatyti jų vykdymo sėkmę. Jie dažnai naudojami automatiniame testavime API užklausų tikslui patikrinti.
import requests
url = "https://jsonplaceholder.typicode.com/posts/1"
response = requests.get(url)
# Patikrinkite, ar būsenos kodas yra sėkmingas (200 OK)
if response.status_code == 200:
print("GET užklausa sėkminga")
else:
print(f"Klaida GET užklausoje: būsenos kodas {response.status_code}")
url_not_found = "https://jsonplaceholder.typicode.com/nonexistent"
response_not_found = requests.get(url_not_found)
# Patikrinkite, ar būsenos kodas rodo, kad išteklius nerastas (404 Not Found)
if response_not_found.status_code == 404:
print("Išteklis nerastas (laukiama elgsena)")
else:
print(f"Netikėtas būsenos kodas: {response_not_found.status_code}")