今日份考题 1. 定义 Cookie 是服务器下发给客户端浏览器的小型文本数据,大小通常限制在4KB左右,客户端后续发起请求时会自动携带该数据,以此来标识用户的会话状态。 Session 是服务器端为每个用户创建的会话对象,用户的会话信息会存储在服务器的内存、数据库或缓存中,服务器会通过 Cookie 中携带的 SessionID 来关联对应的客户端用户。 Token 是服务端生成的加密身份验证字符串,客户端需手动将其携带在请求头或参数中进行身份校验,通常会存储在客户端的 LocalStorage 或 SessionStorage 里。 2. 区别 从存储位置来看,Cookie 存在客户端浏览器,Session 存储在服务端,Token 则保存在客户端。 安全性方面,Cookie 安全性较低,容易遭遇 XSS 攻击导致数据泄露;Session 安全性较高,因为用户信息不会暴露给客户端;Token 安全性也较高,支持加密处理,且服务端无需存储会话数据。 状态性上,Cookie 依赖客户端维护状态,Session 属于服务端有状态存储,会随着用户量增加给服务器带来压力,Token 则是服务端无状态设计,不存储会话信息。 跨域支持上,Cookie 和 Session 受同源策略限制,无法直接支持跨域请求;Token 因手动携带的特性,能够轻松适配跨域场景。 性能影响上,Cookie 每次请求都会自动携带,会增加网络带宽消耗;Session 高并发场景下会占用大量服务器资源;Token 不会给服务端带来存储压力,性能更优。 有效期方面,Cookie 和 Token 都可以自定义过期时间,Cookie 默认是会话级有效期,Session 的有效期则依赖服务端配置,超时后会自动销毁。 3. 适用场景 Cookie 适合存储简单、轻量的非敏感状态数据,比如记住用户的登录状态、保存网站主题偏好、临时存储购物车数据等,注意不要存储密码等敏感信息。 Session 适合服务端需要严格管控用户会话的场景,比如银行、支付类系统的用户登录验证、权限精细化管控等,能有效保障会话的安全性。 Token 更适合前后端分离项目、跨域系统以及移动端 App 和小程序的接口鉴权,同时也适用于分布式系统的统一身份认证,JWT 是目前比较常用的 Token 实现方案。 #街景随拍 #计算机#程序员 #笨蛋美女天花板
00:00 / 00:11
连播
清屏
智能
倍速
点赞2845
00:00 / 03:11
连播
清屏
智能
倍速
点赞8
00:00 / 00:57
连播
清屏
智能
倍速
点赞1
00:00 / 01:11
连播
清屏
智能
倍速
点赞144
00:00 / 02:21
连播
清屏
智能
倍速
点赞5
00:00 / 00:43
连播
清屏
智能
倍速
点赞2
00:00 / 01:16
连播
清屏
智能
倍速
点赞92
00:00 / 02:01
连播
清屏
智能
倍速
点赞22