Sobes.tech
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}")