Я создаю службу RESTful для предоставления данных в веб-приложении. У меня есть два связанных с этим вопроса.
1. Как бороться с несанкционированными запросами?
Я собираюсь ответить на запросы со следующими кодами:
- Открыт ли ресурс и найден ли он? 200 OK
- Вам нужно пройти аутентификацию для доступа к ресурсам? 401 Несанкционированный
- У вас нет доступа к категории ресурсов? 403 Запрещено
- У вас есть доступ к категории ресурсов, но не к этому конкретному ресурсу? 404 Не найдено, чтобы люди не могли узнать о существовании ресурса, к которому у них нет доступа.
- Разве ресурс не существует? 404 Не найдено
Это рекомендуемый способ поведения службы RESTful?
2. В чем заголовок WWW-Authenticate
должен содержать 401 ответа?
Я читал Wikipedia (возможно, не самый точный ресурс, но он работает для меня), что ответ 401 должен включать в себя WWW-Authenticate
, однако при дальнейшем поиске я действительно не мог найти какой-либо ресурс, который указывал бы, что означает это значение и каково оно должно быть.
Я нашел несколько вопросов о SO и темы форума об этом заголовке, и все они, похоже, относятся к OAuth, предлагают не использовать коды состояния 401 или сказать, что вы можете просто что-то сделать.
Какое значение должно содержать этот заголовок?