前端面试必背:Session 和 Cookie 的核心区别
Cookie 和 Session 的区别主要有如下几点:
1.存在的位置
- Cookie:浏览器端
- Session:服务端
2.安全性

- Cookie 是以明文的方式存放在客户端的,安全性相对较低
- Session 存放于服务器中,所以安全性相对较好
3.网络传输量
- Cookie 设置内容过多会增大报文体积,会影响传输效率
- Session 数据存储在服务器,只是通过 Cookie 传递 id,所以不影响传输效率
4.存储限制
- 浏览器限制单个 Cookie 保存的数据不能超过 4K,且单个域名下的存储数量也有限制
- Session 数据存储在服务器中,所以没有这些限制
SessionID 是服务器生成的唯一标识,通过 Cookie 传递给客户端,用于关联客户端和服务器端的 Session 数据,实现用户状态保持。
具体流程:比如用户访问网站登录页,填写用户名、密码传递给服务器,服务器校验输入是否正确,正确的话写入状态(也就是session数据),服务器把SessionID返回给浏览器,后续再访问网站时就会带着SessionID,服务器就能够识别用户的身份。
避坑:SessionID 要是被别人拿到,就能冒充你登录(这就是为啥要防 XSS/CSRF)
文章版权声明:除非注明,否则均为边学边练网络文章,版权归原作者所有