Session 和 Cookie 的区别

437 阅读1分钟

Session 和 Cookie 都是会话跟踪技术。Cookie 通过在客户端记录信息确定用户身份,Session 通过在服务器端记录信息确定用户身份。但是Session 的实现依赖于Cookie,SessionID(Session的唯一标识需要存放在客户端)

Cookie 与 Session 的区别

  • Cookie 数据存放在客户的浏览器上,Session 数据放在服务器上
  • Cookie 不是很安全,别人可以通过分析 Cookie 可以欺骗服务器,考虑到安全应该使用Session,比如爬虫时,构造Cookie模拟登陆爬取数据
  • Session 会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能,考虑到减轻服务器性能方面,应当使用Cookie
  • 单个 Cookie 保存的数据不能超过 4K,很多浏览器都限制一个站点最多保存20个Cookie

所以个人建议:

  1. 将登录信息等重要信息放在 Session
  2. 其他信息如果需要保留,可以放在 Cookie (购物车最好使用Cookie,但是Cookie是可以在客户端禁用的,这时候我们要使用Cookie + 数据库的方式实现,当从cookie 中不能取出数据时,就从数据库获取)。