Junior
Pastāsti par HTTP statusa kodēm.
sobes.tech AI
Atbilde no AI
HTTP statusa kodi ir 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}")