在大多数论坛软件上,每次有人阅读一个主题时,该主题的计数器都会增加一个功能。这允许用户查看做出了多少回复以及主题被阅读了多少次,例如用于决定他们是否想要参与主题。
例子:
Replies Views
hydro locked 3.2 M engine worth fixing? 81 2037
Japan Gets BMW M5 Limited Edition Model 760 16392
...
...
如果我单击第一个主题,肯定会发生 GET 并且我可以阅读该主题。
现在,如果其他人紧随我后来到该站点,他将看到:
Replies Views
hydro locked 3.2 M engine worth fixing? 81 2038
Japan Gets BMW M5 Limited Edition Model 760 16392
...
...
因此,第一个主题的观看次数正确地从 2037 变为 2038。该计数器显然存储在服务器端。
所以我的问题很简单:如果服务器上发生修改,GET 怎么可能是幂等的?
请注意,在所有这些论坛软件上,浏览量是网站不可或缺的一部分:例如,回复很少但浏览量很大的主题通常比回复很少且浏览量很少的主题更有趣。
我知道您可以将某些内容(例如分析)卸载到外部服务(例如 Google Analytics),这些服务可以为您计算页面浏览量、浏览器类型等。但是当用户获取资源的行为本身就是一个组成部分时怎么办您的网站?它可以是论坛或拍卖或其他...
有很多站点使用 GET 修改服务器上的状态。这是否意味着这些网站永远不可能是 RESTful 的?