Возможно, вы сомневаетесь, что код состояния ответа HTTP должен быть 200 OK
, а не 202 Accepted
, если запрос HTTP был успешно обработан.Тем не менее, 200 OK
или 202 Accepted
является законным и разумным, пожалуйста, обратитесь к разделу 10 10 Status Code Definitions
W3C RFC-2616, чтобы узнать их подробно, как показано ниже.
10.2.1 200 OK Запрос успешно выполнен.Информация, возвращаемая с ответом, зависит от метода, используемого в запросе, например:
GET в ответе отправляется объект, соответствующий запрошенному ресурсу;
HEAD заголовок объектаполя, соответствующие запрашиваемому ресурсу, отправляются в ответе без какого-либо тела сообщения;
POST - объект, описывающий или содержащий результат действия;
TRACE - объект, содержащий сообщение запроса, как получено.конечным сервером.
10.2.3 202 Принято Запрос принят к обработке, но обработка не завершена.Запрос может или не может в конечном итоге быть обработан, так как он может быть отклонен, когда обработка действительно имеет место.Нет возможности для повторной отправки кода состояния из асинхронной операции, такой как эта.
Ответ 202 намеренно не является обязательным.Его цель - позволить серверу принять запрос для какого-либо другого процесса (возможно, пакетно-ориентированного процесса, который выполняется только один раз в день), не требуя, чтобы соединение пользовательского агента с сервером сохранялось до завершения процесса.Субъекту, возвращенному с этим ответом, СЛЕДУЕТ включать указание текущего состояния запроса и либо указатель на монитор состояния, либо некоторую оценку того, когда пользователь может ожидать выполнения запроса.
Между тем дваКомментарии к коду, приведенные ниже в репозитории GitHub Kudu, объясняют, почему здесь используется 202 Accepted
для запуска веб-заданий.
I. Kudu.Services / ServiceHookHandlers / FetchHandler.cs # L111
// Return a http 202: the request has been accepted for processing, but the processing has not been completed.
II. Kudu.Services / Jobs / JobsController.cs # L191
// Return a 200 in the ARM case, otherwise a 202 can cause it to poll on /run, which we don't support
// For non-ARM, stay with the 202 to reduce potential impact of change
Это зависит от целей проектирования сервисов.