session会话
session中文翻译成会话,一种管理用户状态和信息的机制,与cookies将数据保存在客户端本地不同的是,session的数据保存在服务器端,一般在服务器的内存里。
客户端与服务端通过sessionid来进行沟通,为了放置不同的客户之间出现冲突和重复,这个sessionid一般是一个较长的随机字符串。
Session
需要登陆获取token才能访问的接口
1.登陆接口
POST /api/v1/login
Content-Type: application/json
{"username":"test","password":"123456"}
2.登陆后获取用户信息接口
GET /api/v1/userinfo
Content-Type: application/json
Authorization: Token 63914bfa94c81c09c4c93354519924e3d32cb5bc
3.修改个人信息
POST /api/v1/userinfo
Content-Type: application/json
Authorization: Token 63914bfa94c81c09c4c93354519924e3d32cb5bc
{
"name": "test",
"sex": "M",
"age": 20,
"mail": "[email protected]"
}
跨请求:比如登录之后发帖,这个发帖是依赖先登录的(需要传登录cookie)
http协议是无状态的,也就是每个请求都是独立的。那么登录后的一系列动作,都需要用cookie来验证身份是否是登录状态。
为了高效的管理会话,保持会话,于是就有了session.
Cookies
有些登录不是token来关联的,有一部分是通过cookie,先登录关联cookies,后面请求都带上cookies
完整代码如下图所示: