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