Cookie和Session

       网页之间的交互是通过Http协议传输数据的,而Http协议就是无状态协议,一旦数据提交完后,浏览器和服务器的链接就会关闭,再次交互的时候需要重新建立连接。这样服务器无法确认用户信息,于是就有了Cookie,Cookie就是通行证,访问的时候带上Cookie,这样服务器就可以从通行证上确认用户的信息。

     Cookie的流程:浏览器访问服务器,如果服务器需要记录该用户的状态,就会使用response向浏览器发送一个Cookie,浏览器把Cookie保存起来,当浏览器再次访问服务器的时候,浏览器会把请求的网址连同Cookie一同交给服务器

 Cookie具有不可跨域名性,不会把一个网站额cookie带到另一个网站。

Cookie的安全属性,如果不希望Cookie在非安全协议中传输,可以设置Cookie的secure属性为true,浏览器指挥在HTTPS和SSL等安全协议中传输该Cookie

Session是另一种记录浏览器状态的机制,不同的是Cookie保存在浏览器中,Session保存在服务器中,用户使用浏览器访问服务器的时候,服务器把用户的信息以某种的形式记录在服务器,这就是Session.Session比Cookie方便,Session可以解决Cookie解决不了的事Session可以保存对象,Cookie只能保存字符串

为什么服务器能够为不同的用户浏览器提供不同的Session?

HTTP协议是无状态的,Session不能依据HTTP连接来判断是否为同一个用户,,于是服务器向浏览器发送了一个名为JESSIONID的Cookie,它的值是Session的Id值,Session依据Cookie来识别是否是同一个用户,该Cookie是服务器自动颁发给浏览器的,默认maxAge是-1也就是说仅当前浏览器使用,不将该Cookie存在硬盘中。浏览器禁用Cookie以后,将会使用URL重写的原理将Session的Id信息重写到URL地址中

Session和Cookie的区别

Cookie只能储存字符串,Session可以储存任何类型的数据。

Cookie储存在浏览器中,对客户端是可见的信息容易泄露,Session储存在服务器中,对客户端是透明的不存在敏感信息泄露问题。

Cookie保存在硬盘里,即使关闭浏览器,Cookie还是存在的。一旦设置有效期都是固定的,Session设置有效期后可以不断刷新页面,从而重新刷新Session的有效期。一旦关闭浏览器,该Session虽然没有从服务器中消亡,但也会失效。

Cookie保存在客户端,不占用服务器资源,Session保存在服务器,每个用户都会产生一个Session,如果并发访问很多的话。Session会消耗大量内存。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值