Код статуса HTTP для обновления и удаления?

Я бы лично не использовал для этого механизм опроса. Я думаю, что это довольно хороший прецедент для pub / sub mq в качестве компонента поверх базы данных, который позволяет потребителям подписываться на определенные каналы для событий изменений для объектов, которые им интересны.

Пример:

  1. Кто-то просит изменить модель
  2. Событие изменения трансляции модели
  3. Изменение очереди в базе данных
  4. Опорожните набор изменений на определенном канале в очереди сообщений для распространения всем заинтересованным сторонам

Вы можете использовать очень простой в процессе pub / sub механизм для этого типа вещей, используя узлы EventEmitter и, как вам нужно масштабировать, имеют требования к долговечности или требуется перекрестный язык MQ, вы можете перейти к такой технологии, как rabbitmq, zeromq и т. Д. Я начал реализовывать что-то очень легкое, чтобы сделать это только в одном из моих приложений : https://github.com/jmoyers/mettle/blob/master/src/pubsub.coffee

Это сводится к чему-то вроде:

pubsub.sub('users.*', function(updates){
    // Interested party handles updates for user objects
});

Таким образом, вы не станете глупым давление опроса в вашей базе данных. Фактически, распределение изменений полностью не зависит от записи в вашу базу данных

Josh

1189
задан Bill the Lizard 21 June 2013 в 20:30
поделиться

3 ответа

Для запроса PUT : HTTP 200 или HTTP 204 должно означать «ресурс успешно обновлен».

Для запроса DELETE : HTTP 200 или HTTP 204 должны означать «ресурс успешно удален». HTTP 202 также может быть возвращен, что будет означать, что инструкция была принята сервером и «ресурс был отмечен для удаления».

PUT

Если существующий ресурс изменен, СЛЕДУЕТ отправить код ответа 200 (ОК) или 204 (Нет содержимого)>, чтобы указать на успешное завершение запроса.

УДАЛИТЬ

Успешный ответ ДОЛЖЕН быть 200 (ОК), если ответ включает объект, описывающий статус, 202 (Принято), если действие еще не было выполнено, или 204 (Нет содержимого), если действие было введено в действие, но ответ не включает сущность.

Источник: W3.org: Определения методов HTTP / 1.1

HTTP 200 OK: Стандартный ответ для успешных запросов HTTP . Фактический ответ будет зависеть от используемого метода запроса.

HTTP 204 Нет содержимого: Сервер успешно обработал запрос, но не возвращает никакого содержимого

Источник: Список кодов состояния HTTP: 2xx Успех

1958
ответ дан 19 December 2019 в 20:14
поделиться

RFC 2616 описывает , какие коды состояния использовать .

И нет, это не всегда 200.

13
ответ дан 19 December 2019 в 20:14
поделиться

Короткий ответ: для PUT и DELETE вы должны отправить либо 200 (OK), либо 204 (No Content).

Длинный ответ: вот полная диаграмма решений (нажмите для увеличения).

HTTP 1.1 decision diagram

Источник: https://github.com/for-GET/http-decision-diagram

822
ответ дан 19 December 2019 в 20:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: