token就是令牌,比如你授权(登录)一个程序时,他就是个依据,判断你是否已经授权该软件;cookie就是写在客户端的一个txt文件,里面包括你登录信息之类的,这样你下次在登录某个网站,就会自动调用cookie自动登录用户名;session和cookie差不多,只是session是写在服务器端的文件,也需要在客户端写入cookie文件,但是文件里是你的浏览器编号。。。。
Cookie:
服务器发给客户端信息,最终以文本的形式存放在客户端->客户端再次发起请求时,会把Cookie回调给服务器->服务器接收后,解析它生成与客户端相应的内容。
Cookie的设置与发送过程主要有以下4步:
客户端发送一个http请求到服务端->服务端发送一个http响应到客户端,其中包括了Set-Cookie的头部->客户端再发送一个http请求到服务器端,包括了cookie头部->服务器端发送一个http响应到客户端。
Session:
服务器端的机制,在服务器上保存的信息->解析客户端请求并操作session id,按需保存状态信息。
Session有两种实现方式:
1、使用cookie实现:服务器给每个session分配唯一的sessionid,
并通过cookie发送给客户端,当客户端发起新请求时,将在cookie头中携带sessionid,服务器可以根据它找到对应的session。
2、使用URL地址回写:当服务器发送给页面中,都携带sessionid参数,客户端点击任何一个链接,都会把sessionid带回服务器,如果直接在服务器输入服务端资源的URL来请求,session是请求不到的。
token:
是登录的标识,是由开发者自己定义的一个业务信息,可以存到session、cookie、h5缓存、redis等,根据业务的需要来存放,用户信息都被加密到token中,服务器收到token后解密就可以知道是哪个用户。