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