蔓你是谁 LV
发表于 2025-4-30 11:24:24
1. Cookie:
可以想象成服务器给你的一个“小纸条”。当你访问一个网站时,服务器会在这个“小纸条”上写一些信息,比如你的登录状态(是否已登录)、用户设置(如页面显示偏好)等。然后把这个“小纸条”交给你的浏览器,浏览器会把它保存起来。以后你每次再访问这个网站时,浏览器就会把这个“小纸条”带着一起发给服务器。服务器通过看这个“小纸条”上的信息,就能快速知道你的一些情况,不用每次都重新询问你。不过这个“小纸条”在浏览器端是可以被看到和修改的(虽然有一定限制),安全性相对没那么高。
2. Session:
就像是服务器专门为你开的一个“私人小房间”。当你登录网站时,服务器会为你创建这样一个“小房间”,在这个“房间”里可以存放很多和你相关的信息,比如你的用户ID、购物车商品信息等。服务器会给这个“小房间”一个专属的“房间号”(session ID),然后通过Cookie把这个“房间号”发送给你的浏览器。以后你每次和服务器交互时,浏览器就把这个“房间号”传给服务器,服务器通过这个“房间号”就能找到对应的“小房间”,获取里面存放的关于你的信息。Session是存储在服务器端的,相对安全,用户在浏览器端看不到里面具体内容。
3. Token:
可以理解为一个“通行证”。当你登录成功后,服务器会生成一个独一无二的“通行证”给你。这个“通行证”里面包含了一些验证信息,比如你的身份标识等。以后你在访问需要权限的资源时,就把这个“通行证”发给服务器。服务器通过检查这个“通行证”的有效性,来决定是否让你访问相应资源。Token通常是无状态的,也就是服务器不用专门去存储关于这个“通行证”的额外信息,只要验证“通行证”本身是有效的就行,这使得它在分布式系统等场景下使用起来很方便,而且一般比Cookie更安全,因为它不容易被篡改 。
总体来说,Cookie是服务器给浏览器的“小纸条” ,信息存在浏览器端;Session是服务器为用户开的“私人小房间”,信息在服务器端;Token则是用户的“通行证”,用于验证访问权限 。 |
|