session和cookie的详解

cookie和session
cookie:

​ cookie是http协议的扩展,它是会话保持的客户端的解决方法。可以辨别用户者的身份,一般都会设置过期时间,因此也会保存在本地的硬盘中,但是没有设置过期时间的cookie会保存在内存中,关闭浏览器就会失效。一次一般也不怎么会使用cookie去维护。还有最重要的一点就是,cookie携带的数据量很小,只有4kb左右。所以,为了解决这一问题,又采用了session的来作为会话保持的服务器端的解决方法,之后会具体介绍。

​ 对于cookie的处理方式每一种不同的浏览器的解决方案也不一样。

​ cookie一般包含五部分:名字,值,过期时间,路径和域。一般以key-value的形式保存。

session:

​ session一般存放在HashTable的数据结构中。当浏览器第一次发请求的时候,会自动生成一个session id,并且通过响应发送给浏览器。当浏览器第二次访问的时候,便会将上一次的session id带回来和服务器的session id进行比较。一般session的失效时间为30分钟,也可以设置。那是不宜太长,否则当用户的在线人数很多时,会加重服务器的压力。session id是通过cookie来携带的和识别的。

区别:

​ 两者的携带数据量大小不一样,而且两者的携带数据的类型也不一样。session可以是任何的java对象,而cookie只能是String。

​ 一个在客户端,一个在服务器端,session一般很安全,而cookie在客户端保存具有一定的风险。

​ session在服务器的保存,当用户很多的时候,会占用服务器的很多的资源,因此一般大型公司都会专门建立session服务器,来分担服务器的压力。而cookie则不会。

​ 两者的作用域也不一样。session可以进行复用。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值