12. Django高级之cookie与session
cookie,session,token扫盲
1 cookie:是服务端设置保存在客户端浏览器上的键值对
? 如果不加密,是不安全的(可能被窃取,篡改)
? cookie虽然是服务端设置的但是浏览器可以选择不保存
2 session:是保存在服务端的键值对
? 用户登录后,给用户分配一个随机字符串(会话标识:session id),用户存到cookie中
? 在服务端以刚刚随机字符串为key,value是字典,放用户信息
ps: session是基于cookie工作的(其实大部分的保存用户状态的操作都需要基于cookie来做)
3 token:三段式(jwt:json web token)(服务端不存了)
{公司信息。。}.{name:lqz,id:10}.asdfasasf
session虽然是保存在服务端的,但是禁不住数据量大
token服务端不再保存数据
? 登录成功之后将一段用户信息进行加密处理
? 将加密后的结果拼接在信息后面,整体返回给浏览器保存
? 浏览器下次访问的时候带着该信息,服务端自动切去前面一段信息
? 再次使用自己的加密算法跟浏览器尾部的密文进行比对
"https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/3.4.1/css/bootstrap.min.css" rel="stylesheet">
class="col-md-6 col-md-offset-3">
class="panel panel-primary">
class="panel-heading">
class="panel-body">