session cookie token
对于这三个概念,我不是很清楚 所以看了一下
一、cookie
对于HTTP协议我们都知道是无状态的,想要长时间的保持会话,就需要知道是谁发送的请求,而cookie就是处理这个问题的其中一个方法,当客户端这边发送请求的时候,服务器端会生成一个cookid,响应给客户端的时候会带着这个cookie,客户端这边就会保存这个cookie,下次访问的时候就会带着这个cookid去访问这样保存了上传会话的信息
二、session
session是另外一种应对HTTP的无状态的方法,session依旧是服务器那边的生成的,客户端这边先发起请求,服务器端后面生成session并且生成sessionid,并且带着sessionid响应给客户端
session与cookie的区别
从上面来看可以看出几点区别:
1.存放位置:cookie是在客户端这边,而session是存放在服务端,从这里看出来session如果量太大会影响服务端的性能
2.数据存放位置不同:Session数据是存在服务器中的,cookie数据存放在浏览器当中。
3.安全程度不同:cookie放在服务器中不是很安全,session放在服务器中,相对安全。
4.性能使用程度不同:session放在服务器上,访问增多会占用服务器的性能;考虑到减轻服务器性能方面,应使用cookie。
5.数据存储大小不同:单个cookie保存的数据不能超过4K,session存储在服务端,根据服务器大小来定。
token
token 的身份验证流程:
客户端使用用户名跟密码请求登录
服务端收到请求,去验证用户名与密码
验证成功后,服务端会签发一个 token 并把这个 token 发送给客户端
客户端收到 token 以后,会把它存储起来,比如放在 cookie 里或者 localStorage 里
客户端每次向服务端请求资源的时候需要带着服务端签发的 token
服务端收到请求,然后去验证客户端请求里面带着的 token ,如果验证成功,就向客户端返回请求的数据
总结
后面再改吧