web前端面试(前端面试必背:Session 和 Cookie 的核心区别)

web前端面试(前端面试必背:Session 和 Cookie 的核心区别)
前端面试必背:Session 和 Cookie 的核心区别

Cookie 和 Session 的区别主要有如下几点:

1.存在的位置

  • Cookie:浏览器端
  • Session:服务端

2.安全性

web前端面试(前端面试必背:Session 和 Cookie 的核心区别)

  • Cookie 是以明文的方式存放在客户端的,安全性相对较低
  • Session 存放于服务器中,所以安全性相对较好

3.网络传输量

  • Cookie 设置内容过多会增大报文体积,会影响传输效率
  • Session 数据存储在服务器,只是通过 Cookie 传递 id,所以不影响传输效率

4.存储限制

  • 浏览器限制单个 Cookie 保存的数据不能超过 4K,且单个域名下的存储数量也有限制
  • Session 数据存储在服务器中,所以没有这些限制

SessionID 是服务器生成的唯一标识,通过 Cookie 传递给客户端,用于关联客户端和服务器端的 Session 数据,实现用户状态保持。

具体流程:比如用户访问网站登录页,填写用户名、密码传递给服务器,服务器校验输入是否正确,正确的话写入状态(也就是session数据),服务器把SessionID返回给浏览器,后续再访问网站时就会带着SessionID,服务器就能够识别用户的身份。

避坑:SessionID 要是被别人拿到,就能冒充你登录(这就是为啥要防 XSS/CSRF)

文章版权声明:除非注明,否则均为边学边练网络文章,版权归原作者所有