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