Соответствующий код ошибки для возврата будет похож на 403.4 - требуется SSL .
Хотя это явно не задокументировано в RFC для HTTP 1.1 , это поведение соответствует изложенным там требованиям:
Сервер понял запрос, но отказывается его выполнить. Авторизация не поможет и запрос НЕ ДОЛЖЕН повторяться. Если метод запроса не был HEAD и сервер желает сообщить, почему запрос не был выполнен, он ДОЛЖЕН описать причину отказа в объекте. Если сервер не желает предоставлять эту информацию клиенту, вместо него можно использовать код состояния 404 (не найден).
Добавление собственного субкода (как в примере с SSL) может быть полезно в некоторых случаях, но, поскольку этот субкод не будет иметь смысла для третьих сторон, я бы рекомендовал против него.
Итак, ваше последнее сообщение об ошибке будет выглядеть примерно так: «403 - Частный ресурс». Обратите внимание, что даже в случае отсутствия ключа API «401 - неавторизованный» не следует использовать, если только ваш ключ API фактически не может быть передан в поле заголовка WWW-Authenticate.