Email or username:

Password:

Forgot your password?
Top-level
rayslava

@skobkin да какая разница. Ну вот вернул он мне 401 , если я не залогинен.
Но это же не ошибка сервиса и не ошибка клиента, это ошибка юзера.
С моей точки зрения должно вернуться что-то типа 200 "Залогинься, мразь"

А 401 должно вернуться, когда «Что ты за приложение? Я тебя не звал! Иди на селф-хостед»!

5 comments
⚛️Revertron

@rayslava Ну не, мне кажется, не важно кто сгенерировал ошибку внутри твоего сервера, надо возвращать понятные HTTP-коды.
Их не зря придумывали.

@skobkin

Alexey Skobkin

@Revertron @rayslava
Ну это зависит от парадигмы опять же.
Коды изначально придумывали для другого.
Но потом, например, появлялись штуки вроде REST, которые подразумевают, что этот фреймворк может использоваться и для виртуальных бизнес-ресурсов, а не только физических файлов в ФС.

Alexey Skobkin

@rayslava
Ну вот штука в том, что во многих ситуациях HTTP стал частью протокола/соглашения API.
Неотъемлемой. Перестав быть только транспортом.

И в общем-то транспортом если уж совсем угорать будет TCP. А HTTP - это вполне себе "фреймворк" для других слоёв вроде приложения стал.

Если воспринимать API расширением HTTP, а не приложением использующим как транспорт - всё уже не так однозначно.

tuenut

@skobkin @rayslava на Вики написано, что это application layer, не транспорт.
В rfc тоже

tuenut

@rayslava @skobkin а кто должен сгенерировать 401?
Я понимаю так (я могу ошибаться), если аутентификацию проверяет сервис и аутентификация не предоставлена/не прошла, сервис должен послать нахер. Почему для этого не использовать код ошибки, который существует, при том, что это именно ошибка обработки запроса - ресурс закрыт аутентификацией?
В то время как 200 сообщает о том, что запрос успешно обработан, то есть выполнена некоторая полезная нагрузка.

Go Up