Խոսեք HTTP վիճակային կոդերի մասին։
sobes.tech AI
Պատասխան AI-ից
HTTP կարգավիճակի կոդերը՝ դա եռանիշ թվեր են, որոնք սերվերը վերադարձնում է հաճախորդի հարցման պատասխանով: Դրանք ցույց են տալիս հարցման արդյունքը և տրամադրում տեղեկություններ այն մասին, թե ինչպես պետք է հաճախորդը մշակի պատասխանն:
Կարգավիճակի կոդերը բաժանվում են հինգ դասերի.
- 1xx — Տեղեկատվական: Հարցումը ընդունված է, մշակումը շարունակվում է:
- 2xx — Հաջող: Հարցումը հաջողությամբ մշակվել է:
- 3xx — Redirect: Հարցման ավարտին անհրաժեշտ են լրացուցիչ գործողություններ:
- 4xx — Հաճախորդի սխալ: Հարցումը պարունակում է սինտաքսական սխալ կամ չի կարող կատարվել:
- 5xx — Սերվերի սխալ: Սերվերը չի կարող կատարել ճիշտ հարցումը:
Որոշ ամենատարածված կարգավիճակի կոդեր:
| Կոդ | Նկարագրություն | Կլաս |
|---|---|---|
| 200 | OK | Հաջող |
| 201 | Created | Հաջող |
| 204 | No Content | Հաջող |
| 301 | Moved Permanently | Redirect |
| 302 | Found | Redirect |
| 400 | Bad Request | Հաճախորդի սխալ |
| 401 | Unauthorized | Հաճախորդի սխալ |
| 403 | Forbidden | Հաճախորդի սխալ |
| 404 | Not Found | Հաճախորդի սխալ |
| 500 | Internal Server Error | Սերվերի սխալ |
| 503 | Service Unavailable | Սերվերի սխալ |
API-ի թեստավորման ժամանակ կարևոր է ստուգել ճիշտ կարգավիճակի կոդերը տարբեր հարցումների պատասխաններում (հաջող, վալիդացիայի սխալներով, սխալ տվյալներով և այլն), որպեսզի համոզվեք համակարգի կանխատեսելի վարքագծում:
Օրինակ, երբ ստեղծում եք ռեսուրս, սպասվում է 201, հաջողությամբ տվյալներ ստանալիս՝ 200, չհասանելի ռեսուրսի հարցման ժամանակ՝ 404, սերվերի սխալի դեպքում՝ 500:
Կոդի ստուգման օրինակ ավտոտեստում (Python-ով requests գրադարանով):
import requests
url = "https://jsonplaceholder.typicode.com/posts/1"
response = requests.get(url)
# Ստուգում, որ հարցումը վերադարձրել է 200 OK կարգավիճակ
assert response.status_code == 200