Junior
164
HTTP күй кодтары туралы айтыңыз.
AI-дан жауап
sobes.tech AI
HTTP статустары — бұл клиенттің сұрауына жауап ретінде сервер қайтарған үш таңбалы сандар. Олар сұраудың нәтижесін көрсетеді және клиентке жауапты қалай өңдеу керектігі туралы ақпарат береді.
Статустар бес классқа бөлінеді:
- 1xx — Ақпараттық: Сұрау қабылданды, өңдеу жалғасуда.
- 2xx — Табысқа жеткен: Сұрау сәтті орындалды.
- 3xx — Бағыттау: Сұрауды аяқтау үшін қосымша әрекеттер қажет.
- 4xx — Клиент қатесі: Сұрауда синтаксистік қате бар немесе орындалмайды.
- 5xx — Сервер қатесі: Сервер дұрыс сұрауды орындамады.
Кейбір ең кең тараған статустар:
| Код | Сипаттама | Класс |
|---|---|---|
| 200 | OK | Табысқа жеткендер |
| 201 | Жасалды | Табысқа жеткендер |
| 204 | Мазмұн жоқ | Табысқа жеткендер |
| 301 | Тұрақты түрде орын ауыстырды | Бағыттау |
| 302 | Табылды | Бағыттау |
| 400 | Қате сұрау | Клиент қатесі |
| 401 | Рұқсат жоқ | Клиент қатесі |
| 403 | Тыйым салынған | Клиент қатесі |
| 404 | Табылмады | Клиент қатесі |
| 500 | Ішкі сервер қатесі | Сервер қатесі |
| 503 | Қызмет уақытша қол жетімсіз | Сервер қатесі |
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