Sobes.tech
Junior

Pasakykite apie HTTP būsenos kodus.

sobes.tech AI

Atsakymas iš AI

HTTP būsenos kodai yra trijų skaitmenų sveikieji skaičiai, kuriuos serveris grąžina kaip atsaką į kliento užklausą. Jie nurodo užklausos rezultatą ir skirstomi į penkias klases:

  • 1xx Informaciniai: Užklausa gauta ir tęsiamas apdorojimas.
    • 100 Continue: Serveris gavo pradžią užklausos ir klientas gali tęsti siųsti likusią dalį.
    • 101 Switching Protocols: Serveris supranta ir yra pasiruošęs įgyvendinti pakeitimą protokoluose, kurį prašė klientas.
  • 2xx Sėkmingi: Užklausa sėkmingai apdorota, suprasta ir priimta.
    • 200 OK: Standartinis sėkmingas atsakymas HTTP užklausoms.
    • 201 Created: Užklausa įvykdyta ir sukurtas naujas išteklius.
    • 204 No Content: Serveris sėkmingai apdorojė užklausą, tačiau atsakyme nėra turinio.
  • 3xx Peradresavimas: Norint užbaigti užklausą, reikalingi papildomi veiksmai.
    • 301 Moved Permanently: Prašomas išteklius turi naują nuolatinį URI.
    • 302 Found: Prašomas išteklius laikinai perkeltas į kitą URI.
    • 304 Not Modified: Išteklius nuo paskutinio siuntimo nepasikeitė.
  • 4xx Kliento klaidos: Užklausa turi sintaksės klaidą arba jos įvykdyti negalima.
    • 400 Bad Request: Serveris nesupranta užklausos dėl netinkamos sintaksės.
    • 401 Unauthorized: Reikia autentifikacijos norint pasiekti išteklių.
    • 403 Forbidden: Serveris supranta užklausą, bet atsisako ją autorizuoti.
    • 404 Not Found: Serveris neranda prašomo ištekliaus.
  • 5xx Serverio klaidos: Serveris negali tinkamai įvykdyti teisingai suformuotos užklausos.
    • 500 Internal Server Error: Bendra serverio klaida apdorojant užklausą.
    • 502 Bad Gateway: Serveris, veikiantis kaip vartai ar proxy, gavo netinkamą atsakymą iš aukštesniojo serverio.
    • 503 Service Unavailable: Serveris šiuo metu negali apdoroti užklausos dėl laikino perkrovimo ar priežiūros.

Pavyzdžiai naudojimui testavime:

  • API testavimas: Patikrinkite, ar grąžinti statuso kodai atitinka tikėtus (pavyzdžiui, 200 OK sėkmingam duomenų gavimui, 404 Not Found neegzistuojančiam ištekliui).
  • Žiniatinklio programų testavimas: Patikrinkite peradresavimus (3xx statuso kodai), naudotojo įvedimo klaidas (4xx), paslaugų veikimą apkrovos metu (503).

Statuso kodo patikros pavyzdys Python naudojant requests:

import requests

url = "https://www.example.com"
response = requests.get(url)

# Patikrinkite, ar užklausa sėkminga (statuso kodas 2xx)
if response.status_code == 200:
    print("Užklausa sėkminga")
else:
    print(f"Klaida: statuso kodas {response.status_code}")