0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

cookie和session区别

工程师 来源:陈翠 2018-12-12 15:48 次阅读

cookie和session区别

1、cookie数据存放在客户的浏览器上,session数据放在服务器上。

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

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

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

cookie和session机制上的区别

1、存取方式的不同

Cookie中只能保管ASCII字符串,假如需求存取Unicode字符或者二进制数据,需求先进行编码。Cookie中也不能直接存取Java对象。若要存储略微复杂的信息,运用Cookie是比拟艰难的。

而Session中能够存取任何类型的数据,包括而不限于String、Integer、List、Map等。Session中也能够直接保管JavaBean乃至任何Java类,对象等,运用起来十分便当。能够把Session看做是一个Java容器类。

2、隐私策略的不同

Cookie存储在客户端阅读器中,对客户端是可见的,客户端的一些程序可能会窥探、复制以至修正Cookie中的内容。而Session存储在服务器上,对客户端是透明的,不存在敏感信息泄露的风险。

假如选用Cookie,比较好的方法是,敏感的信息如账号密码等尽量不要写到Cookie中。最好是像Google、Baidu那样将Cookie信息加密,提交到服务器后再进行解密,保证Cookie中的信息只要本人能读得懂。而假如选择Session就省事多了,反正是放在服务器上,Session里任何隐私都能够有效的保护。

3、有效期上的不同

使用过Google的人都晓得,假如登录过Google,则Google的登录信息长期有效。用户不用每次访问都重新登录,Google会持久地记载该用户的登录信息。要到达这种效果,运用Cookie会是比较好的选择。只需要设置Cookie的过期时间属性为一个很大很大的数字。

由于Session依赖于名为JSESSIONID的Cookie,而CookieJSESSIONID的过期时间默许为–1,只需关闭了阅读器该Session就会失效,因而Session不能完成信息永世有效的效果。运用URL地址重写也不能完成。而且假如设置Session的超时时间过长,服务器累计的Session就会越多,越容易招致内存溢出。

4、服务器压力的不同

Session是保管在服务器端的,每个用户都会产生一个Session。假如并发访问的用户十分多,会产生十分多的Session,耗费大量的内存。因而像Google、Baidu、Sina这样并发访问量极高的网站,是不太可能运用Session来追踪客户会话的。

而Cookie保管在客户端,不占用服务器资源。假如并发阅读的用户十分多,Cookie是很好的选择。关于Google、Baidu、Sina来说,Cookie或许是唯一的选择。

5、浏览器支持的不同

Cookie是需要客户端浏览器支持的。假如客户端禁用了Cookie,或者不支持Cookie,则会话跟踪会失效。关于WAP上的应用,常规的Cookie就派不上用场了。

假如客户端浏览器不支持Cookie,需要运用Session以及URL地址重写。需要注意的是一切的用到Session程序的URL都要进行URL地址重写,否则Session会话跟踪还会失效。关于WAP应用来说,Session+URL地址重写或许是它唯一的选择。

假如客户端支持Cookie,则Cookie既能够设为本浏览器窗口以及子窗口内有效(把过期时间设为–1),也能够设为一切阅读器窗口内有效(把过期时间设为某个大于0的整数)。但Session只能在本阅读器窗口以及其子窗口内有效。假如两个浏览器窗口互不相干,它们将运用两个不同的Session。(IE8下不同窗口Session相干)

6、跨域支持上的不同

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

仅运用Cookie或者仅运用Session可能完成不了理想的效果。这时应该尝试一下同时运用Cookie与Session。Cookie与Session的搭配运用在实践项目中会完成很多意想不到的效果。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Cookie
    +关注

    关注

    0

    文章

    28

    浏览量

    10361
  • Session
    +关注

    关注

    0

    文章

    14

    浏览量

    9941
收藏 人收藏

    评论

    相关推荐

    谷歌Chrome浏览器弃用第三方cookie推迟至2025年

    早先据IT之家透露,谷歌这家科技巨头曾公开宣布,Chrome浏览器计划在2024年下半年逐步淘汰第三方cookie,然而如今这一决策被推迟到了2025年。
    的头像 发表于 04-25 15:14 55次阅读

    瑞萨电容触摸技术之低功耗应用—RX140实验环节(2)-4

    在"Project Explorer"中,选择工程Lab_Session_1→文件夹src→文件Lab_session_1.c
    的头像 发表于 03-14 13:34 493次阅读
    瑞萨电容触摸技术之低功耗应用—RX140实验环节(2)-4

    鸿蒙开发基础-Web组件之cookie操作

    使用ArkTS语言实现一个简单的免登录过程,向大家介绍基本的cookie管理操作。主要包含以下功能: 获取指定url对应的cookie的值。 设置cookie。 清除所有cookie
    发表于 01-14 21:31

    详解zookeeper的session管理机制

    使用过zookeeper的都知道,当我们使用zookeeper创建一个节点时,我们能选择节点的类型是“临时节点”还是“永久节点”。临时节点和永久节点的区别是,临时节点会在客户端断开连接时被删除,而永久节点无论客户端是否断开连接,都会保留。
    的头像 发表于 01-08 09:46 479次阅读
    详解zookeeper的<b class='flag-5'>session</b>管理机制

    欧盟计划出台新规,整治网站Cookie横幅乱象

    欧盟主管机关表示已察觉 Cookie“同意”横幅给用户带来的困扰,后续将推出具有约束力的法规,严格规范有关横幅的展示方式。
    的头像 发表于 01-04 10:53 545次阅读

    怎么用js保存数据

    。 首先,让我们介绍一些常见的数据保存方式: CookieCookie是一种小型的键值对数据,它可以被存储在用户的浏览器中。Cookie的大小通常有限制,它可以通过设置过期时间来控制存储的时间范围。要使用JS保存数据到
    的头像 发表于 11-27 16:10 393次阅读

    轨到轨运放与一般运放的区别

    轨到轨运放与一般运放的区别  随着电子技术的不断发展,越来越多的电子厂商开始研发和制造轨到轨运放,以取代一般的运放。在使用轨到轨运放和一般的运放时,我们需要注意一些区别和不同之处。本文将详细介绍这些
    的头像 发表于 08-27 14:55 5604次阅读

    (PHP教程第118讲 session② 获取session 更新session 删除session sess

    代码PHP
    充八万
    发布于 :2023年07月28日 00:21:40

    178.178 会话控制 sessioncookie区别

    服务器
    充八万
    发布于 :2023年07月21日 06:54:58