【发布时间】:2011-12-28 14:37:10
【问题描述】:
简单地说,我有一个网站,您可以在其中注册为用户并添加数据。目前只添加一次特定数据才有意义,因此添加应该是幂等的,但理论上您可以多次添加相同的数据。在这里我就不多说了。
根据RFC 2616,GET 请求应该是幂等的(实际上是无效的)。我希望用户能够做类似访问
http://example.com/<username>/add/?data=1
这将添加该数据。让 PUT 请求使用 REST 执行此操作是有意义的,但我不知道如何使用浏览器发出 PUT 请求,我非常怀疑大多数人会这样做或愿意费心去做。即使使用 POST 也是合适的,但这也有类似的问题。
是否有一些技术上正确的方法允许用户仅使用 GET 添加数据(例如,通过手动访问链接,或允许外部网站使用该链接)。当他们访问此页面时,我可以使用 javascript 或 cURL 发出我自己的 POST/PUT 请求,但这似乎仍然违反了幂等 GET 请求的精神。
【问题讨论】:
标签: http post get http-post http-get