Cookies Seesion Token的初认识
首先讲下,因为http协议是无状态协议,服务端中无法识别当前用户是否有访问过,所以这三’兄弟’就出现了。
Cookies:客户端在登录的时候,服务器会验证账号与密码是否正确,正确的话会产生一个sessionid保存在服务器中并会把这个sessionid回传给客户端,客户端会把这个sessionid存在cookie中,下次这个客户需要再次请求的时候会把这个sessionid跟着请求一起带过去给服务器,服务器核对与服务器中保存一致则会正常响应请求。
Token:客户端登录成功后,服务器会把对应的登录账号与密码通过只有服务器才知道的加密算法加密,然后把加密后的文件返回给客户端,客户端会把这串东西存储在本地,与cookie不同的地方就是这时候服务器不会再保存对应的sessionid,因为之前的方法会存在服务器集群的时候的不方便,因为会服务器1保存sessionid,当客户访问服务器2的时候需要在服务器1中把对应的sessionid复制到服务器2中,所以Token的出现就不用在服务器中保存sessionid了。等客户在下次再发请求的时候,token会在请求头中一起发送给服务器,服务器通过只有自己知道的秘钥去解密,可以解密的就说明是之前有访问的客户。