Junior
Реци о статус кодовима HTTP.
sobes.tech АИ
Одговор од АИ
HTTP статус кодови су трицифрени броеви које сервер враћа као одговор на захтев клијента и указују на резултат обраде захтева. Они се класификују према првој цифри:
- 1xx (Информативно): Захтев је прихваћен, обрада се наставља.
- 2xx (Успех): Захтев је успешно примљен, разумљен и прихваћен.
- 3xx (Преусмеравање): За завршетак захтева потребне су додатне акције.
- 4xx (Грешка клијента): Захтев садржи синтаксичку грешку или не може бити извршен.
- 5xx (Грешка сервера): Сервер није могао правилно извршити правилно форматиран захтев.
Примери најчешћих кодова:
| Код | Категорија | Вредност | Опис |
|---|---|---|---|
| 100 | Информативно | Настави | Сервер је примио почетни део захтева |
| 200 | Успех | У реду | Захтев је успешно извршен |
| 201 | Успех | Креирано | Захтев је извршен, креиран је нови ресурс |
| 204 | Успех | Без садржаја | Захтев је извршен, одговор не садржи тело |
| 301 | Преусмеравање | Трајно премештено | Ресурс је трајно премештен |
| 302 | Преусмеравање | Т temporarily премештено | Ресурс је привремено премештен |
| 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}")