我正在编写一个简单的身份验证服务,并且对通过用户名和密码方案获取用户的最佳方法感到好奇。
例如
/users?username=foo&password=bar
目前,它只返回用户的表示,相当于
/用户/{id}
然后返回 200
但是我在想,如果我做到了,我可以更多地利用缓存,所以第一个请求只返回一个带有位置标头的 303 到 /users/10
这样,我可以有效地将调用结果缓存在 /users/10 中,但不能缓存 /users?username=foo&password=bar,因为这不适合缓存。
对我来说感觉更像是“HTTP”,但显然它需要对客户端进行另一个 HTTP 调用;哪种方法是正确的?