Ответ
Коды состояния 5xx обозначают ошибки на стороне сервера.
- 500 Internal Server Error: Общая ошибка сервера, когда он столкнулся с непредвиденной ситуацией, которая не позволяет выполнить запрос (например, необработанное исключение в коде).
- 501 Not Implemented: Сервер не поддерживает функциональность, необходимую для выполнения запроса (например, незнакомый метод HTTP).
- 502 Bad Gateway: Сервер, выступая в роли шлюза или прокси, получил недействительный ответ от вышестоящего сервера.
- 503 Service Unavailable: Сервер временно не может обрабатывать запросы из-за перегрузки или технического обслуживания. Ответ может включать заголовок
Retry-Afterс указанием времени ожидания. - 504 Gateway Timeout: Сервер, выступая в роли шлюза или прокси, не дождался своевременного ответа от вышестоящего сервера.
Пример обработки в тестах (Python):
import requests
try:
response = requests.get('https://api.example.com/data', timeout=10)
response.raise_for_status() # Вызовет исключение для 4xx/5xx кодов
# Обработка успешного ответа...
except requests.exceptions.HTTPError as e:
if response.status_code >= 500:
print(f'Серверная ошибка: {e}')
else:
print(f'Клиентская ошибка: {e}') Ответ 18+ 🔞
А, слушай, вот это тема! Коды 5xx — это когда сервер, сука, сам обосрался. Не ты виноват, а он, падла, не справился. Вот прям классика жанра.
500 Internal Server Error — это когда на сервере какая-то неведомая хуйня случилась. Типа код написали криворукие, исключение не обработали, и всё, пиздец, сервак в ауте. Просто говорит: «Бля, я сам в шоке, что произошло».
501 Not Implemented — это когда ты пришёл к нему с какой-то диковинной просьбой. «Э, дружок-пирожок, — говорит сервер, — а я так не умею, нахуй. Ты мне метод какой-то левый прислал, я в жизни такого не видел».
502 Bad Gateway — о, это любимое! Сервер работает как посредник, запросил что-то у другого сервиса, а тот ему в ответ какую-то ахинею прислал. И наш сервер такой: «Ну что за мудак? Я ж не могу эту хуйню клиенту переслать!» И шлёт тебе 502.
503 Service Unavailable — тут всё просто. Серверу на голову упал или его админы обновляют. Он тебе вежливо так: «Извини, братан, я сейчас не в форме. Зайди попозже, а?» Может даже в заголовках написать, через сколько вернуться.
504 Gateway Timeout — это когда сервер-посредник заждался ответа от другого сервиса. «Ну я жду, жду, — думает он, — а этот уёбок вообще молчит. Всё, клиент, прости, таймаут. Иди нахуй».
Вот, например, как это в коде выглядит, если ты на Python'е тесты пишешь:
import requests
try:
response = requests.get('https://api.example.com/data', timeout=10)
response.raise_for_status() # Если код 4xx или 5xx — тут же исключение кинет
# Если добрались сюда — значит, всё чики-пуки, работаем с ответом...
except requests.exceptions.HTTPError as e:
if response.status_code >= 500:
print(f'Серверная ошибка: {e}') # Типа «ой, ёпта, это они накосячили»
else:
print(f'Клиентская ошибка: {e}') # А это уже, скорее всего, твои ручонки кривые
Вот так вот, блядь. Главное — помнить: если 5xx, то не ты мудак, а они. Можно расслабиться и идти пить чай, пока они там свои косяки разгребают.