Sobes.tech
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}")