REST - доберитесь случайное число ДОБИРАЮТСЯ или POST?

Как генератор случайных чисел должен правильно быть реализован в REST?

GET   RANDOM/

или..

POST  RANDOM/

Сервер возвращает другое случайное число каждый раз.

Я вижу аргументы в пользу обоих путей.

9
задан Chris Dutrow 6 June 2010 в 10:11
поделиться

3 ответа

Я бы сказал, что это то же самое, что и возврат страницы, содержащей текущее время - а многие из них выполняются с помощью GET. Абстрактно, при получении случайного числа (или времени) состояние сервера не меняется - и время, и случайные числа можно описать как наблюдение за внешним событием. Например, http://random.org использует атмосферный шум.

GET кажется наиболее подходящим, хотя кэширование должно быть отключено с помощью соответствующих заголовков, например,

Expires: <Current Time>
Last-Modified: <Current Time>
Cache-Control: no-cache, must-revalidate
Pragma: no-cache

Если вы хотите убедиться, что срок действия обслуживаемого содержимого уже истек:

Чтобы пометить ответ как "уже истек", сервер происхождения отправляет дату Expires, равное значению заголовка Date значение заголовка. (См. правила для вычисления срока действия в разделе 13.2.4.)

8
ответ дан 3 November 2019 в 04:41
поделиться

Определенно ПОЛУЧИТЬ. Несмотря на то, что он может изменять состояние на стороне сервера (если он использует псевдо-RNG), это всего лишь деталь реализации, о которой клиент не должен заботиться.

2
ответ дан 3 November 2019 в 04:41
поделиться
  • определение REST-вызова с GET: результат должен быть таким же -> не GET.
  • определение REST-вызова с PUT: результат вызова может быть повторяемым, у сервера не должно быть проблем с ним -> используйте PUT

POST - самый слабый метод, и его можно использовать, если другие бесполезны.

Почему бы не GET: результат GET-вызова может быть кеширован (кеш-заголовок, другие прозрачные прокси), и вы не получите случайных результатов ...

-3
ответ дан 3 November 2019 в 04:41
поделиться
Другие вопросы по тегам:

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