Я думаю, что правильный ответ полностью зависит от контекста запроса. В веб-приложении, предназначенном для использования человеком (не машиной), я предпочитаю либо перенаправить на вход в систему, если пользователь не аутентифицирован, и отобразить страницу с ошибкой, если пользователь аутентифицирован, но не авторизован. Обычно я не возвращаю неавторизованный ответ, поскольку он содержит слишком мало информации для обычного пользователя, чтобы помочь ему использовать приложение.
Для веб-службы я бы, вероятно, использовал неавторизованный ответ. Поскольку он обычно используется программой на другом конце, нет необходимости предоставлять описательное сообщение об ошибке или перенаправление. Разработчик, использующий сервис, должен иметь возможность различать правильные изменения, вносимые в их код для правильного использования сервиса - при условии, что я хорошо документировал использование интерфейса с примерами.
Что касается поисковых систем, правильно составленный файл robots.txt, вероятно, более полезен для ограничения его публичными страницами.