- Cookie
Cookie是一种在客户端保存信息的技术,当用户首次访问网站时,服务器会发送一个包含Cookie信息的HTTP响应,在用户下一次访问时,浏览器会自动把Cookie信息发送给服务器。Cookie通常用于保存用户状态信息或跟踪用户的浏览行为。Cookie功能相对简单,不需要服务器管理,但Cookie可以被篡改,存在安全风险。
- Session
Session是在服务器端保存信息的技术。当用户第一次访问网站时,服务器为该用户创建一个Session ID,并把ID存储在Cookie中。之后每次访问时,客户端都会发送Session ID,服务器根据该ID在服务器上查找相关的Session信息。相比Cookie,Session更好的保护了用户的隐私,但需要服务器管理,并且在高并发情况下会增加服务器的负担。
- Token
Token是一种通过使用数字签名来验证用户身份的技术。在用户进行身份认证时,服务器会返回一个Token,客户端将这个Token保存在Cookie或LocalStorage中,之后每次请求时,客户端会带上这个Token。服务器根据这个Token逆推出用户信息,判断该用户是否有访问权限。Token与Session相比,解放了服务器管理,同时也提高了安全性,可以避免攻击者在网络传输中拦截Cookie而被盗用身份。
总的来说,Cookie、Session和Token都是用于身份认证和授权的技术,但在实际应用时,应根据需求选用合适的技术,并且加以适当的保护。