Sobes.tech
Junior

Разкажи за HTTP статус кодовете.

sobes.tech AI

Отговор от AI

HTTP статус-кодовете са трицифрени цели числа, които сървърът връща като отговор на заявка от клиента. Те показват резултата от заявката и се делят на пет класа:

  • 1xx Информационни: Заявката е получена и обработката продължава.
    • 100 Continue: Сървърът е получил началната част от заявката и клиентът може да продължи изпращането на останалата част.
    • 101 Switching Protocols: Сървърът разбира и е готов да изпълни промяната на протоколите, поискана от клиента.
  • 2xx Успешни: Заявката е успешно обработена, разбрана и приета.
    • 200 OK: Стандартен успешен отговор за HTTP заявки.
    • 201 Created: Заявката е изпълнена и е създаден нов ресурс.
    • 204 No Content: Сървърът успешно е обработил заявката, но в отговора липсва тяло.
  • 3xx Пренасочване: За завършване на заявката са необходими допълнителни действия.
    • 301 Moved Permanently: Изисканият ресурс има нов постоянен URI.
    • 302 Found: Изисканият ресурс е временно преместен на друг URI.
    • 304 Not Modified: Ресурсът не е променен от последната изпратена заявка.
  • 4xx Грешки на клиента: Заявката съдържа синтактична грешка или не може да бъде изпълнена.
    • 400 Bad Request: Сървърът не може да разбере заявката поради невалиден синтаксис.
    • 401 Unauthorized: За достъп до ресурса е необходима автентикация.
    • 403 Forbidden: Сървърът разбира заявката, но отказва да я авторизира.
    • 404 Not Found: Сървърът не може да намери изискания ресурс.
  • 5xx Грешки на сървъра: Сървърът не може да изпълни правилно форматирана заявка.
    • 500 Internal Server Error: Общата грешка на сървъра при обработка на заявката.
    • 502 Bad Gateway: Сървърът, действащ като шлюз или прокси, получи невалиден отговор от по-горния сървър.
    • 503 Service Unavailable: Сървърът в момента не може да обработи заявката поради временно претоварване или поддръжка.

Примери за използване при тестване:

  • Тестване на API: Проверка за съответствие на връщаните статус-кодове с очакваните (например, 200 OK при успешно получаване на данни, 404 Not Found при заявка за несъществуващ ресурс).
  • Тестване на уеб приложения: Проверка на пренасочвания (статус-кодове 3xx), грешки при въвеждане от потребителя (статус-кодове 4xx), работоспособност на услугите при натоварване (статус-код 503).

Пример за проверка на статус-код в Python с използване на requests:

import requests

url = "https://www.example.com"
response = requests.get(url)

# Проверка дали заявката е успешна (статус-код 2xx)
if response.status_code == 200:
    print("Заявката е успешна.")
else:
    print(f"Грешка при изпълнение на заявката. Статус-код: {response.status_code}")