在测试验证邮箱、注册逻辑时,出现验证码错误的问题。验证码是存放在session内的,在排除了逻辑代码的问题后,检查出这两次访问接口的sessionid并不一致,而在swagger测试接口时是一致的。因此我比较了swagger与ajax请求/响应头的区别,发现服务器返回了sessionid,ajax并未携带此sessionid:
问题出现在ajax,搜一下ajax如何手动携带cookie就可以了,就很容易解决了。最后我们来回顾一下session的工作流程:
Session是一种在Web应用程序中用于存储和管理用户数据的机制。它主要涉及到以下流程:
1、客户端向服务器发送请求。
2、服务器在接收到客户端请求之后,会为该会话生成一个唯一的sessionid,并将该sessionid存储在一个cookie中,然后将该cookie发送给客户端。
3、客户端在接收到服务器发送的response后,会自动保存该cookie,并在后续的请求中将该cookie包含在请求头中。
4、服务器在接收到客户端发送的后续请求时,会自动从请求头中提取sessionid,并使用该sessionid来查找该客户端的会话。
5、如果服务器找到了该会话,则会将该会话中存储的数据发送回客户端,以便客户端可以使用这些数据来执行操作。
6、如果服务器没有找到该会话,则会创建一个新的会话,并将该会话的sessionid存储在一个cookie中,然后将该cookie发送回客户端。
7、在客户端结束会话(例如关闭浏览器)时,浏览器会自动删除该cookie,从而结束该会话。
总的来说,Session的流程就是服务器生成一个唯一的sessionid,并将其存储在客户端的cookie中,以便服务器能够识别客户端的会话。服务器使用该sessionid来查找该客户端的会话,并使用该会话来存储和管理用户数据。客户端通过在请求头中包含该cookie来与服务器交互,并在会话结束时自动删除该cookie。
原文地址:https://blog.csdn.net/weixin_44512485/article/details/129368462
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_27010.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!