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}")