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}")