1.传统的账号和密码,客户端发送账户和密码,服务端返回账号和密码以维持登录状态信息
#即麻烦又不安全
2. cookies,将用户名和密码保存到cookies中,存入客户端中,每次访问携带cookies
3. session, 将数据保存到服务端,生成session ID传入给客户端的cookies中,自动化完成
4.token, 作为一个对用户名和密码进行加密的字符串,不需要前后端的存储,可以进行跨域,集群
5.总结
Cookie:
存储在客户端的小型数据文件。
每次HTTP请求时,浏览器会自动发送cookie给服务器。
通常用于存储用户偏好或登录状态。
安全性较低,容易受到CSRF等攻击。
存储大小限制约为4KB。
Session:
存储在服务器端的数据结构。
通过在客户端cookie中存储唯一的session ID来识别用户。
可以存储更多的数据,但会增加服务器的存储压力。
比cookie更安全,因为数据不直接暴露在客户端。
Token:
服务端生成的一串加密的字符串,客户端在每次请求时发送给服务器。
不依赖于cookie,因此可以用于移动应用或跨域请求。
可以包含用户的身份信息和权限数据。
通常用于实现无状态的身份验证。
简而言之,cookie和session通常结合使用,通过在客户端存储session ID来维持用户状态,而token则是一种更灵活的方式,可以支持不同的客户端和跨域请求。