cookie和session区别,cookie禁用

Cookie和session

  1. Cookie数据存放在浏览器上,session数据存放在服务器上。
  2. 很多浏览器都限制一个站点最多保存20个cookie,每个cookie保存的数据不超过4k
  3. Cookie并不是很安全,别人可以分析存放在本地的cookie进行cookie欺骗,考虑安全应该用session
  4. Session在一定时间内保存在服务器上,当访问增多,会占用服务器,性能降低。把一些不那么敏感的信息保存到cookie上。
  5. Session在浏览器关闭或者一段时间内销毁,可以通过修改setMaxInactiveInterval(int)。设置时间,int(秒)为时间整数。或是通过invalidate()方法强制结束当前会话。
  6. Cookie关闭就会销毁,也可以通过setMaxAge(int)方法设置销毁时间。
  7. 一般情况下session生成的sessionid都保存在cookie中。

Session实现原理:

服务器会为浏览器创建一个专属的session,每个session都会有一个随机id,id对应的数据通过cookie传给浏览器。浏览器再通过响应头的形式去找对应id的值。

总结:

Cookie:在客户端保存数据,不安全。只能保存字符串,且是少量数据
Session:在服务器保存数据,安全。可以保存对象数据,数据无限制。

问题:

Cookie被禁用怎么办?
解析:用户通过浏览器访问服务器,第一次访问服务器会为浏览器创建一个session对象,这个时候sessionid要写回到浏览器上,但是cookie被禁用了,写不进去。
解决:通过response响应数据,把id响应到客户端,客户端下次在请求可以通过URL?方式找到对应的值

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值