这是我参与「第三届青训营 -后端场」笔记创作活动的的第2篇笔记
服务端登陆方式
简单来说呢,我们把服务端和客户端之间加上一个门,这个门打开方式呢,有钥匙打开,指纹锁打开,以及房卡打开,这三种方式,分别对应cookie,session,token。我们再细讲讲这三种方式
cookie
我们都知道钥匙能打开锁,钥匙是藏在自己身上的,丢了钥匙呢,还能去配钥匙。欸,说到这些啊,cookie和钥匙可以说是完全一样的,这cookie能够登陆到服务端(打开锁),cookie是在我们客户端这边的(藏在自己身上),当cookie以某种方式丢失,或者被擦除时,那么我们就得再登陆服务器,让服务端给我们再发一个cookie(配钥匙)。 说到钥匙啊,大家还记得,有这么一个热梗吗,“鸡汤来咯”,那部剧里面有卧底曾经用面团复制过钥匙的原形,为了方便做一些坏事。那么cookie也是一样的,黑客可能会黑入你的电脑,或者你的电脑是公用的,可能被一些人找到从而知道你的cookie,直接以你的身份去登入服务端。 所以说啊,cookie虽然说是开门挺方便的,藏在自己身上,但是也可能被盗用。
session
相对来说,session就比cookie高级多了,只不过啊,session开门前,得需要cookie去开门,然后把这个指纹锁去好好配置一下,配置好自己的指纹,指纹信息呢,存储在指纹锁的数据库中,每次登陆的时候,只需要指纹去验证就好了,每个人的指纹是独一无二的,那么就减少了指纹被盗用的风险。 session呢,并不存放在自己身上,而存放在服务端那里,它不会让自己有负担,而是让服务端那里有负担,它比cookie更安全了一点,只不过每次都需要cookie去携带sessionId才可以。
token
Token是服务端生成的一串字符串,以作客户端进行请求的一个令牌,当第一次登录后,服务器生成一个Token便将此Token返回给客户端,以后客户端只需带上这个Token前来请求数据即可,无需再次带上用户名和密码。简单来说token就是那房卡,由服务端颁发给客户端的房卡,当客户端要登陆服务端的时候,直接使用房卡就行。