Skip to content

Cookie、Session、Token究竟区别在哪

January 18, 2023 | 10:00 PM

Cookie、Session、Token究竟区别在哪

http无状态,所以我们无法知道每次登录的是谁,要实现让网页知道每次登录的是谁,就需要cookie

cookie和session

image.png

但这里其实我们打开浏览器就可以看见保存了哪些cookie,如果浏览器被黑,用户账号和信息就会泄露,所以把用户名和密码放在cookie里面是不安全的

session

意思是会话,不同的网站对于每个用户的会话都设定了时间和唯一的id(session ID)这里的时间就是结束会话的时间,而这些信息就保存在数据库

image.png

Session id即使被黑客拿到也没有多大的作用

为什么需要cookie

http协议是无状态

使用cookie可以保存上次的状态

cookie和session的区别

cookie存在客户端

session存在服务端

image.png)

token

JWT:JSON Web Token

image.png

jwt组成:

image.png

token和cookie也可以进行加密,为啥一定要用JWT呢?

Token 和 Cookie 都可以加密,并且它们都可以用于存储会话状态信息。但是,在一些特定情况下,JWT 比 Token 和 Cookie 更加适合。

主要原因如下:

因此,如果您需要跨域解决方案,或者需要在客户端和服务端之间直接传递数据,那么 JWT 可能是一个更好的选择。但是,如果不需要这些功能,则 Token 和 Cookie 也可以适当的解决您的需求。

总结

session诞生并保存在服务器

cookie则是一种数据载体,把session放在cookie中送到客户端那边,cookie跟随http的每个请求发送出去

token诞生在服务器,但保存在浏览器,持有token就像持有令牌,可以访问不同服务器