Junior
Խոսեք HTTP վիճակային կոդերի մասին։
sobes.tech AI
Պատասխան AI-ից
HTTP կարգավիճակի կոդերը եռանիշ թվեր են, որոնք սերվերը վերադարձնում է հաճախորդի հարցման պատասխանով և ցույց տալիս հարցման մշակման արդյունքը: Դրանք դասակարգվում են առաջին թվանիշով.
- 1xx (Տեղեկատվական): Հարցումը ընդունվել է, մշակումը շարունակվում է:
- 2xx (Հաջողություն): Հարցումը հաջողությամբ ստացվել է, հասկացել և ընդունվել:
- 3xx (Ուղղում): Հարցման ավարտին լրացուցիչ գործողություններ են անհրաժեշտ:
- 4xx (Հաճախորդի սխալ): Հարցումը պարունակում է սինտաքսիկական սխալ կամ չի կարող կատարվել:
- 5xx (Սերվերի սխալ): Սերվերը չի կարող կատարել ճիշտ ձևավորված հարցումը:
Նմուշներ՝ ամենատարածված կոդեր:
| Կոդ | Կատեգորիա | Արժեք | Նկարագրություն |
|---|---|---|---|
| 100 | Տեղեկատվական | Շարունակել | Սերվերը ստացել է հարցման սկզբնական մասը |
| 200 | Հաջողություն | ՕԿ | Հարցումը հաջողությամբ կատարվել է |
| 201 | Հաջողություն | Ստեղծվել | Հարցումը կատարվել է, ստեղծվել է նոր ռեսուրս |
| 204 | Հաջողություն | Բացատում չկա | Հարցումը կատարվել է, պատասխանն առանց մարմնի |
| 301 | Ուղղում | Մշտապես տեղափոխված | Ռեսուրսը վերջնականապես տեղափոխված է |
| 302 | Ուղղում | Ժամանակավոր տեղափոխված | Ռեսուրսը ժամանակավոր տեղափոխված է |
| 304 | Ուղղում | Փոփոխություն չի եղել | Ռեսուրսը չի փոխվել վերջին հարցումից հետո |
| 400 | Հաճախորդի սխալ | Խեղճ հարցում | Սինտաքսիկական սխալ հարցում |
| 401 | Հաճախորդի սխալ | Անհատականացում պահանջվում | Պահանջվում է նույնականացում |
| 403 | Հաճախորդի սխալ | Թույլատրված չէ | Հասանելիությունը ռեսուրսին արգելված է |
| 404 | Հաճախորդի սխալ | Չի գտնվել | Ռեսուրսը նշված URL-ով չի գտնվել |
| 405 | Հաճախորդի սխալ | Մեթոդը թույլատրված չէ | Օգտագործված HTTP մեթոդը թույլատրված չէ |
| 500 | Սերվերի սխալ | Ներքին սերվերի սխալ | Ներքին սերվերի սխալ |
| 502 | Սերվերի սխալ | Լավագնա սխալ | Պատասխան չի ստացվել վերևի սերվերից |
| 503 | Սերվերի սխալ | Ծառայությունը մատչելի չէ | Սերվերը ժամանակավորապես մատչելի չէ |
Հասկացողությունը կարգավիճակի կոդերի օգնում է հասկանալ սխալի պատճառը, թեստավորել հարցումները և որոշել նրանց հաջողությունը: Օգտագործվում են ավտոմատացված թեստավորման ժամանակ API հարցումների սպասվող արդյունքը ստուգելու համար:
import requests
url = "https://jsonplaceholder.typicode.com/posts/1"
response = requests.get(url)
# Ստուգում, արդյոք կարգավիճակի կոդը հաջող է (200 OK)
if response.status_code == 200:
print("GET հարցումը հաջողվեց")
else:
print(f"Սխալ GET հարցում: կարգավիճակի կոդ {response.status_code}")
url_not_found = "https://jsonplaceholder.typicode.com/nonexistent"
response_not_found = requests.get(url_not_found)
# Ստուգում, արդյոք կարգավիճակի կոդը ցույց է տալիս, որ ռեսուրսը չի գտնվել (404 Not Found)
if response_not_found.status_code == 404:
print("Ռեսուրսը չի գտնվել (պատասխանի սպասվող վարք)")
else:
print(f"Անսպասելի կարգավիճակի կոդ: {response_not_found.status_code}")