在我的 HTTP API 中,其中一个端点应该返回一个随机生成的值,并且该值将与端点的认证调用者相关联。目前,我有以下结构:
GET http://example.com/random-ticket HTTP/1.1
Authorization: Basic base64-encoded-basic-auth-value
Accept: application/json
Host: example.com
HTTP/1.1 200 OK
Cache-Control: no-cache
Content-Type: application/json; charset=utf-8
Date: Thu, 03 Oct 2013 07:25:56 GMT
Content-Length: 59
{"user-ticket":"Pfa42634e-1a2e-4a7d-84b9-2d5c46a8dd81"}
发出GET请求以检索随机值。然而,HTTP GET调用应该是幂等的,而我的上述实现没有遵守这个规则。另一方面,我不确定是否可以使用空消息体发出HTTP POST请求。
按照HTTP规范,执行此类操作的正确方法是什么?