Session和Cookie的区别

Session和Cookie的区别:


存储位置不同:

  • cookie数据存放在客户的浏览器,session数据存放在服务器上;
  • cookie确切的说分为两大类:会话cookie持久化cookie。会话cookie是存放在客户端浏览器的内存中,而持久化cookie是存放在客户端硬盘中;
  • 但cookie并不是和服务器毫无关系,session的信息是通过sessionid获取的,而sessionid是存放在会话cookie当中的,是大部分session机制都使用会话cookie来保存session id,而关闭浏览器后这个session id就消失了,再次连接服务器时也就无法找到原来的session。如果服务器设置的cookie被保存到硬盘上,或者使用某种手段改写浏览器发出的HTTP请求头,把原来的session id发送给服务器,则再次打开浏览器仍然能够找到原来的session。

生命周期不同:

  • 如果不主动将session清理掉(例如sign out 里的clear操作),session会在一定时间内保存在服务器上。
  • 会话cookie是存放在客户端浏览器的内存中,他的生命周期和浏览器是一致的,当浏览器关闭会话cookie也就消失了,而持久化cookie是存放在客户端硬盘中,持久化cookie的生命周期是我们在设置cookie时候设置的那个保存时间。

安全系数,对性能的影响不同:

  • cookie是存储在客户端,所以session的安全性比cookie高。

  • cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗
    考虑到安全应当使用session。

  • session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能
    考虑到减轻服务器性能方面,应当使用COOKIE。

  • 单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。

  • 将登陆信息等重要信息存放为SESSION
    其他信息如果需要保留,可以放在COOKIE中

浏览器适配:

  • cookie可以被人为的禁止,一些浏览器会禁用。
参考:

https://www.cnblogs.com/shiyangxt/articles/1305506.html
https://www.cnblogs.com/binqilan/p/8082789.html
http://tigerlchen.iteye.com/blog/1808163

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值