美文网首页本地存储
cookie 和session 的区别

cookie 和session 的区别

作者: 该帐号已被查封_才怪 | 来源:发表于2017-12-27 21:20 被阅读69次

    之前没有用过session,只用过HTML5中localStorage(以前总结过sessionStorage 、localStorage和cookies的区别);刚开始我以为session和sessionStorage是同一个东西。。。
    它们的区别:

    1、存储位置:

    cookie数据存放在浏览器上,session数据存放在服务器上;

    2、安全性

    cookie相对来说没有session安全,因为别人可以通过分析cookie来进行cookie欺骗;(当然我们可以加密解密cookie)因此一般情况下登录等重要信息应采用session;

    3、性能

    session会在一定时间内保存在服务器上,因此当访问增大时,会影响服务器的性能,而cookie则不存在该情况;

    4、大小限制

    cookie有大小限制(不能超过4k),很多浏览器会限制一个站点最多保存20个cookie,而session的大小则只以硬件为限制;

    5、存取方式

    Cookie中只能保管ASCII字符串,假如需求存取Unicode字符或者二进制数据,需求先进行编码。Cookie中也不能直接存取Java对象。若要存储略微复杂的信息,运用Cookie是比拟艰难的。
    而Session中能够存取任何类型的数据,包括而不限于String、Integer、List、Map等。Session中也能够直接保管Java Bean乃至任何Java类,对象等,运用起来十分便当。能够把Session看做是一个Java容器类。

    6、跨域支持

    Cookie支持部分跨域名访问,例如将domain属性设置为“.biaodianfu.com”,则以“.biaodianfu.com”为后缀的一切域名均能够访问该Cookie。跨域名Cookie如今被普遍用在网络中,例如Google、Baidu、Sina等。而Session则不会支持跨域名访问。Session仅在他所在的域名内有效。

    7、生命周期

    (以20分钟为例)
    (1)cookie的生命周期是累计的,从创建时,就开始计时,20分钟后,cookie生命周期结束,
    (2)session的生命周期是间隔的,从创建时,开始计时如在20分钟,没有访问session,那么session生命周期被销毁
    但是,如果在20分钟内(如在第19分钟时)访问过session,那么,将重新计算session的生命周期
    (3)关机会造成session生命周期的结束,但是对cookie没有影响

    参考资料:
    1、 cookie 和session 的区别详解
    2、Cookie与Session的区别与联系及生命周期
    3、Cookie与Session的区别

    相关文章

      网友评论

        本文标题:cookie 和session 的区别

        本文链接:https://www.haomeiwen.com/subject/xerpgxtx.html