免责声明:我是REST学校的新手,我正试图围绕它思考.
所以,我正在阅读这个页面,常见的REST错误,而且我发现我对会话无关紧要的部分感到困惑.这就是页面所说的内容:
客户端不需要"登录"或"启动连接".HTTP验证在每条消息上自动完成.客户端应用程序是资源的消费者,而非服务.因此没有什么可登录的!假设您在REST网络服务上预订航班.您不创建与服务的新"会话"连接.而是要求"行程创建者对象"为您创建一个新的行程.您可以开始填充空白,然后在网络上的其他地方获得一些完全不同的组件以填充其他一些空白.没有会话,因此在客户端之间迁移会话状态没有问题.也没有"会话亲和力"的问题
好的,我得到HTTP身份验证是在每条消息上自动完成的 - 但是如何?是否每次请求都会发送用户名/密码?那不就是增加攻击面积吗?我觉得我错过了这个难题的一部分.
例如,拥有一个/session接受GET请求的REST服务是不是很糟糕,在请求中传入用户名/密码,如果验证成功则返回会话令牌,然后可以随后的请求传递?从REST的角度来看,这是否有意义,还是忽略了这一点?