VerifyCerts
не обязательные параметры. В бэкэнде он проверяет правильность двух файлов (загруженных ранее). Что я должен вернуть в случае ошибки? Я имею в виду, это должен быть http код состояния 4xx или 200 и информация об ошибке в содержимом?
Помните, что HTTP ничего не знает о "действиях". Он знает о ресурсах и представлениях ресурсов. Но детали реализации намеренно скрыты.
Здесь, похоже, у вас есть ресурс, и представление этого ресурса рассчитывается на основе данных, которые были сохранены на сервере. Поэтому я ожидаю, что этот ответ будет сопровождаться кодом 2xx
, даже если в настоящее время эти 2 файла являются «недействительными».
(Нет проблем с запросом, нет проблем с сервером, вы просто документируете, что состояние мира в настоящее время не соответствует счастливому пути).
ApllyCerts также не требует параметров. Он пытается применить уже загруженные файлы сертификата. Какой код 4xx я должен вернуть в случае ошибки (неверные файлы)? А что должно быть в теле ответа?
Тело ответа является легкой частью -
За исключением случаев ответа на запрос HEAD, сервер ДОЛЖЕН отправить представление, содержащее объяснение ситуации с ошибкой, а также является ли это временным или постоянным условием.
Код ответа сложнее. Я думаю, что вы можете привести разумные аргументы в пользу 403 Forbidden и 409 Conflict ; по сути, запрос клиента является попыткой перевести ресурс из состояния A в состояние B, но на самом деле ресурс в настоящее время находится в состоянии Z, которое не имеет перехода в состояние B.
На практике я не думаю, что это имеет большое значение - ни один из этих кодов ответов не может быть кэширован по умолчанию, у общих потребителей нет особой причины по-разному обрабатывать этот код и так далее. Различие в семантическом значении не имеет никакого практического эффекта, который я вижу.
Так что, если кто-то позже убедит вас сменить тот, который вы используете, я не думаю, что общие клиенты будут вести себя иначе.