Код состояния HTTP для указания NON FATAL Ошибка сервера [закрыт]

1

Я занимаюсь разработкой API. Я использую MVC-архитектуру, свою собственную мини-структуру, написанную на PHP.

Это API RESTful, но также обеспечивает одновременный канал реального времени через веб-сокеты с использованием NodeJS. Таким образом, технически некоторые из услуг доступны через стандартный интерфейс REST, а остальная часть непрерывного полного потока потока доступна через веб-сокеты.

Из-за этого очень важно, чтобы я использовал коды ошибок HTTP для большого количества мелкозернистых сценариев.

Теперь, мой вопрос довольно прост, каков должен быть код состояния HTTP, указывающий на ошибку сервера, которая не является фатальной?

501 - для внутренней ошибки сервера, но здесь я ищу сценарий, когда некоторая часть запроса не может быть выполнена.

Ценю вашу помощь.

Немного больше разъяснений относительно фактического сценария

Запрос успешно обрабатывается сервером, но этот сценарий возникает, когда после завершения запроса сервер не может обновить журнал. Таким образом, это частичное исполнение.

  • 0
    Я думаю, что ваш сценарий слишком конкретен, чтобы иметь собственный код ошибки, поэтому вы можете создать свой собственный код ошибки и использовать его в этом проекте? В то время, когда установлен правильный код ошибки, вы можете обновить свой собственный код, чтобы отразить это?
  • 0
    Это то, что я сделал. Но увы! Я изо всех сил старался сделать его максимально совместимым, а также интуитивно понятным для потребителей :( Я пошел с 522 всеми Twitter 520-х годов
Показать ещё 3 комментария
Теги:
rest
http

1 ответ

1
Лучший ответ

На самом деле, думая об этом, кажется, что вы определяете две ситуации одним махом -

Запрос успешно обрабатывается сервером, но этот сценарий возникает, когда после завершения запроса сервер не может обновить журнал. Таким образом, это частичное исполнение.

На самом деле это выглядит как две отдельные вещи:

Запрос успешно обрабатывается, часть 1, так что заголовок 200 (скажем), но тогда, если обновление журнала не завершено, то (и только это) является ошибкой 5xx. Если вы можете установить, почему журнал не написан, а затем возвратите конкретную ошибку 5xx по этой конкретной причине.

Если вы хотите вернуть только один заголовок, даже если запрос успешно обработан, если журнал не обновляется правильно, запрос фактически не обрабатывается успешно и заголовок 5xx должен быть возвращен, поскольку заголовок 5xx будет иметь прецедент над 2xx заголовок. Если вы используете заголовок для своего собственного перенаправления, вы можете использовать заголовок клиента, потому что знаете, как вы справитесь с этим.

  • 0
    Великие умы думают одинаково :) Это именно то, что я положил в комментарии.
  • 1
    классно :) . Заголовки HTTP очень единичны.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню