免责声明: 我是 REST 思想流派的新手,我正在试图理解它。
所以,我正在读这一页,常见的休息错误,我发现我完全困惑的部分会议是无关紧要的。页面上是这么写的:
应该不需要客户 “登录”或“开始连接” HTTP 身份验证已完成 客户端 应用程序是 资源,而不是服务。因此 没有什么可登录的! 让我们 说你正在订一个航班 REST Web 服务 新的“会话”连接到 你应该问「行程表」 创建者对象”为您创建一个新的 行程表,你可以开始填了 空白的,然后得到一些完全 其他地方的不同组成部分 网页来填补其他空白。 没有会议,所以没有 迁移会话状态的问题 客户之间。也没有 中的“会话关联”问题 服务器(虽然仍然有负载 平衡问题继续)。
好吧,我知道 HTTP 身份验证在每条消息上都是自动完成的,但是怎么做呢?用户名/密码是否与每个请求一起发送?这不是增加了攻击面积吗?我觉得我错过了拼图的一部分。
如果有一个 REST 服务,比如说 /session
,它接受一个 GET 请求,在其中传入一个用户名/密码作为请求的一部分,并在身份验证成功时返回一个会话令牌,然后这个令牌可以随后的请求一起传递,这是不是不好呢?从 REST 的角度来看,这有意义吗? 还是说这没有抓住要点?