Sobes.tech
Junior

Räägi HTTP staatusekoodidest.

sobes.tech AI

Vastus AI-lt

HTTP-staatuskodi on trīs ciparu skaitļi, ko serveris atgriež, atbildot uz klienta pieprasījumu, norādot pieprasījuma apstrādes rezultātu. Tie tiek klasificēti pēc pirmās cipara:

  • 1xx (Informational): Pieprasījums ir pieņemts, turpinās apstrāde.
  • 2xx (Success): Pieprasījums ir veiksmīgi saņemts, saprasts un pieņemts.
  • 3xx (Redirection): Lai pabeigtu pieprasījumu, ir nepieciešamas papildu darbības.
  • 4xx (Client Error): Pieprasījumā ir sintakses kļūda vai tas nevar tikt izpildīts.
  • 5xx (Server Error): Serveris nevarēja pareizi izpildīt izveidoto pieprasījumu.

Populārākie kodu piemēri:

Kods Kategorija Vērtība Apraksts
100 Informational Continue Serveris saņēma sākotnējo pieprasījuma daļu
200 Success OK Pieprasījums veiksmīgi izpildīts
201 Success Created Pieprasījums izpildīts, ir izveidots jauns resurss
204 Success No Content Pieprasījums izpildīts, atbilde nesatur ķermeni
301 Redirection Moved Permanently Resurss ir galīgi pārvietots
302 Redirection Found (Temporarily Moved) Resurss ir pagaidu pārvietots
304 Redirection Not Modified Resurss nav mainījies kopš pēdējā pieprasījuma
400 Client Error Bad Request Kļūdains pieprasījuma sintakse
401 Client Error Unauthorized Nepieciešama autentifikācija
403 Client Error Forbidden Piekļuve resursam ir aizliegta
404 Client Error Not Found Resurss ar norādīto URL nav atrasts
405 Client Error Method Not Allowed Nepareiza HTTP metode
500 Server Error Internal Server Error Iekšēja servera kļūda
502 Server Error Bad Gateway Nepareiza atbilde no augstākstāvošā servera
503 Server Error Service Unavailable Servers ir pagaidu nepieejams

Zināšanas par statusa kodiem palīdz saprast kļūdas cēloni, labot pieprasījumus un novērtēt to veiksmīgumu. Automatizētajā testēšanā bieži tiek izmantoti, lai pārbaudītu API pieprasījumu sagaidāmo rezultātu.

import requests

url = "https://jsonplaceholder.typicode.com/posts/1"
response = requests.get(url)

# Pārbaude par veiksmīgu statusa kodu (200 OK)
if response.status_code == 200:
    print("GET pieprasījums veiksmīgs")
else:
    print(f"Kļūda GET pieprasījumā: statusa kods {response.status_code}")

url_not_found = "https://jsonplaceholder.typicode.com/nonexistent"
response_not_found = requests.get(url_not_found)

# Pārbaude par resursa neesamību (404 Not Found)
if response_not_found.status_code == 404:
    print("Resursu nav atrasts (gaidāma uzvedība)")
else:
    print(f"Saņemts negaidīts statusa kods: {response_not_found.status_code}")