Как генератор случайных чисел должен правильно быть реализован в REST?
GET RANDOM/
или..
POST RANDOM/
Сервер возвращает другое случайное число каждый раз.
Я вижу аргументы в пользу обоих путей.
Я бы сказал, что это то же самое, что и возврат страницы, содержащей текущее время - а многие из них выполняются с помощью 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.)
Определенно ПОЛУЧИТЬ. Несмотря на то, что он может изменять состояние на стороне сервера (если он использует псевдо-RNG), это всего лишь деталь реализации, о которой клиент не должен заботиться.
POST - самый слабый метод, и его можно использовать, если другие бесполезны.
Почему бы не GET: результат GET-вызова может быть кеширован (кеш-заголовок, другие прозрачные прокси), и вы не получите случайных результатов ...