#PXI_NET
🙂Всем привет! Этот пост является продолжением предыдущего, снова направляю интересующихся почитать RFC 9110. А для тех, кто хочет краткую выжимку, читайте этот пост.
⚡️Наиболее используемые статус коды
3xx (Перенаправление)
300 (Multiple choices, множественный выбор) — указывает на то, что целевой ресурс имеет более одного представления, каждое со своим более конкретным идентификатором, и предоставляется информация об альтернативах, чтобы пользователь (или пользовательский агент) мог выбрать предпочтительное представление, перенаправив свой запрос на один или несколько из этих идентификаторов.
301 (Moved permanently, перемещено навсегда) — указывает на то, что целевому ресурсу присвоен новый постоянный URI, и любые будущие ссылки на этот ресурс должны использовать один из включенных в него URI.
302 (Found, найдено) — указывает на то, что целевой ресурс временно находится по другому URI. Поскольку перенаправление может периодически изменяться, клиенту следует продолжать использовать целевой URI для будущих запросов.
303 (See Other, смотри другое) — указывает на то, что сервер перенаправляет пользовательский агент на другой ресурс, как указано в URI в поле заголовка Location , который предназначен для предоставления косвенного ответа на исходный запрос. Пользовательский агент может выполнить запрос на получение данных, нацеленный на этот URI (запрос GET или HEAD при использовании HTTP), который также может быть перенаправлен, и представить конечный результат в качестве ответа на исходный запрос. Обратите внимание, что новый URI в поле заголовка Location не считается эквивалентным целевому URI.
304 (Not Modified, не изменено) — указывает на то, что у нас и так актуальная версия ресурса и нет надобности сервера отправлять его снова.
307 (Temporary redirect, временное перенаправление) — указывает на то, что целевой ресурс временно находится под другим URI, и пользовательский агент НЕ ДОЛЖЕН изменять метод запроса, если он выполняет автоматическое перенаправление на этот URI.
308 (Permanent redirect, постоянное перенаправление) — указывает на то, что целевому ресурсу присвоен новый постоянный URI, и любые будущие ссылки на этот ресурс должны использовать один из включенных в него URI. Аналог 301, но с гарантией неизменности методов.
4xx (Ошибка клиента)
400 (Bad Request, неверный запрос) — указывает на то, что сервер не может или не будет обрабатывать запрос из-за ошибки, которая воспринимается как ошибка клиента. Например, если не подходит к pydantic схеме, то выбрасываем это.
401 (Unauthorized, не авторизован или несанкционированный доступ) — указывает на то, что запрос не был выполнен, поскольку отсутствуют действительные учётные данные для аутентификации целевого ресурса. Я кидаю её, если пользователь дёргает ручку без токена или с невалидным токеном.
403 (Forbidden, запрещено) — указывает на то, что сервер понял запрос, но отказался его выполнить. Иногда его используют для неявных блокировках пользователей, а я его кидаю, когда пользователь пытается редактировать не свой профиль и тд.
404 (Not Found, не найдено) — указывает на то, что исходный сервер не обнаружил актуального представления целевого ресурса или не желает сообщать о его существовании.
405 (Method not allowed, метод не разрешен) — указывает на то, что метод, полученный в строке запроса, известен исходному серверу, но не применим к этому ресурсу.
408 (Request Time-out, тайм-аут запроса) — указывает на то, что сервер не получил полный запрос в течение времени, отведенного на ожидание
409 (Conflict, конфликт) — указывает на то, что запрос не может быть выполнен из-за конфликта с текущим состоянием целевого ресурса. Этот код используется в ситуациях, когда пользователь может разрешить конфликт и повторно отправить запрос. Я его кидаю, когда пользователь с таким именем уже есть.
5xx (Ошибка сервера)
500 (Внутренняя ошибка сервера) — исключительная ситуация на сервере.
503 (Сервис недоступен) — указывает на то, что сервер в данный момент не может обработать запрос из-за временной перегрузки или планового технического обслуживания