Każdy kod błędu HTTP byłby nieodpowiedni. Z punktu widzenia HTTP nie ma żadnych błędów ani problemów, więc powinno to być coś z zakresu 200. Grzecznie informujesz niektórych użytkowników, że nie będą oni obsługiwani, wysyłając z powrotem dokument, który im to mówi. I wszystko idzie dobrze.
Użytkownik nie będzie mógł korzystać z Twojej aplikacji . To świadoma decyzja podejmowana przez logikę biznesową, a nie nieszczęście. Na poziomie HTTP wszystko jest uczciwe.
Edytować
Wygląda na to, że patrzymy tutaj na starcie starej szkoły z nową szkołą. Gdy zaprojektowano HTTP, nie było usług internetowych, nie było SOAP, JSON ani zasad REST. Jako protokół powyżej TCP był to już rozważany (zbliżony do) poziom aplikacji i zdefiniowano wiele kodów statusu wysokiego poziomu. Kiedy sieć zaczęła być wykorzystywana do bogatszych, usług wysokiego poziomu i wspólnych środków transportu „kopert”, projektanci podchwycili HTTP zamiast definiować nowszy i czystszy protokół, tylko dlatego, że HTTP był wszechobecny.
Tak więc w kontekście nowoczesnych usług internetowych HTTP jest w rzeczywistości niewiele więcej niż głupią warstwą transportową, a większość jego kodów można uznać za nieobowiązujące lub przestarzałe. Po prostu wybranie jednego, ponieważ zbliża się do stanu Twojej aplikacji i zdarza się, że znajduje się na tej liście, co kiedyś oznaczało, że coś może wydawać się nieszkodliwe, ale myślę, że wysłałoby to niewłaściwy komunikat. Nie chcesz, aby HTTP pełnił tę regulującą rolę w kontekście usług sieciowych.