最佳答案
我听说是“ RESTful API 应该是无状态的。所有的状态信息都应该保存在客户端”。
但是当我从一个网页发出一个 AJAX 调用时,我注意到一个会话 ID cookie 总是被发送到服务器。使用这个会话 ID,我可以获得服务器上的会话对象,因此我可以“ 在会话中获取/设置一些状态信息”。
这是否打破了 RESTful API 的“无状态代码”?
(我的问题的背景如下。)
我试图通过调用 RESTful API 来验证用户名和密码来实现登录页面。
每当用户试图访问我站点的一个页面时,登录 servlet filter将检查该用户的 session(这是 getSession()被调用的地方) ,以查看是否存在有效的登录信息。如果没有,登录过滤器将把用户重定向到登录页面。
在登录页面上,通过用户名和密码对服务器上的 RESTful API 进行 AJAX 调用。根据 RESTful API 调用的结果,页面上的 JavaScript 将决定是否让用户进入我的站点。
因此,在这个场景中,我不得不使用 session。
详细的代码在这里: 这是通过 RESTful 调用声音的登录逻辑吗?