Какой код состояния HTTP вы используете, когда конечная точка отключена при помощи feature-flag / feature-toggle? - PullRequest
0 голосов
/ 18 февраля 2020

Я использовал 503 Сервис недоступен или отключен для обслуживания.

Однако некоторые клиентские библиотеки http, например, ax ios, воспринимают 503 как повторяющуюся ошибку.

Имеет смысл повторить попытку, если ответ получен из-за высокой нагрузки, но 503 также соответствует случаю переключения функций.

Есть ли какие-либо предложения по другим кодам, которые используют люди?

1 Ответ

1 голос
/ 19 февраля 2020

Коды состояния - это метаданные, которые принадлежат домену «передача документов по сети». Общая семантика кодов состояния - это то, что позволяет универсальным компонентам с поддержкой HTTP работать интеллектуально.

Итак, вам следует подумать о семантике HTTP.

Например, если ваш сервер не имеет доступа к текущему представлению ресурса, идентифицированного target-uri запроса, тогда вы должны выдать ответ 404 Not Found. Если запрос запрещен, то 403 Forbidden. Или 451 Unavailable for Legal Reasons, когда это подразумеваемое значение.

Другими словами: это зависит.

Но это не зависит от "признака признака"; это деталь реализации. «Единый интерфейс» - это фасад, который скрывает те технические детали, которые варьируются от одной реализации к другой. Внешне ваш API создает иллюзию того, что ваша машина - просто еще один скучный веб-сервер.

...