Session与Cookie的区别(学习笔记一)

一、存储位置不同

1.Cookie的数据信息存放在客户端浏览器上。

2.Session的数据信息存放在服务器上。

二、存储容量不同

1.单个Cookie保存的数据<=4kb,一个站点最多保存20个Cookie。

2.对于Session并没有上限,但出于对服务器端的性能考虑,Session内不能存放过多的东西,并且设置Session删除机制。

三、存取方式的不同

1.Cookie中只能保管ASCII,需要通过编码的方式存取Unicode字符或者二进制数据。运用Cookie难以实现存储略微复杂的信息。

2.Session中能够存取任何类型的数据,包括不限于String、Integer、List、Map等

四、隐私策略的不同

1.Cookie对客户端是可见的,别有用心的人可以分析c存放在本地的Cookie并进行Cookie欺骗。所有他不是安全的。

2.Session存储在服务器上,对客户端是透明的,不能存在敏感信息泄露的风险。

如果选用Cookie,比较好的方法是:敏感的信息,如账号密码等,尽量不要写到Cookie中。可以将Cookie信息加密。提交到服务器后再进行解密。存储本地的Cookie就不需要自行加密。

五、有效期上的不同

1.开发可以设置Cook的属性,达到使Cookie长期有效的效果。

2.由于Session依赖于名为jsessionid的Cookie,而Cookie jsessionid的过期时间默认为-1,只需关闭窗口该Session就会失败,因而session不能达到长期有效的效果。就算不依赖于Cookie,运用URL地址重写也不能完成,假如设置session的超时时间过长,服务器累计的session就会越多,越容易导致内存溢出。

六、服务器压力的不同

1.Session是保管在服务器端的,每个用户都会产生一个Session。假如并发访问的用户十分多,会产生十分多的session,耗费大量的内存。

2.Cookie保管在客户端,不占用服务器资源。对于并发用户十分多的网站,Cookie是很好的选择。

七、浏览器支持的不同g

如果客 户端不支持Cookie

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

2.运用session只能在本窗口内有效。假如两个浏览器窗口互不相干,他们将运用两个不同的Session。(IE8不同窗口session想干)

八、跨域支持上的不同

1.Cookie支持跨域名访问,例如domain属性设置为“.51testing.com”,则以“.51testing.com”为后缀的一切域名均能够访问该cookie。

2.session不会支持跨域名访问。session仅在它所在的域名内有效。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话。常用的会话跟踪技术是Cookie与Se...
    chinariver阅读 10,960评论 1 49
  • 背景在HTTP协议的定义中,采用了一种机制来记录客户端和服务器端交互的信息,这种机制被称为cookie,cooki...
    时芥蓝阅读 6,944评论 1 17
  • 最近小风和老公的对话如下: “老公你运动一下吧?你太懒了。” “我工作已经很累了,不想动。” “老公网上推荐了这本...
    Dy倒影阅读 2,405评论 0 0
  • 我应该是个恋旧的人 旧的东西,旧的生活,旧的回忆,旧的一些有关我的。 所以就会想留下一些文字, 好的坏的。 偶尔点...
    盼长常阅读 906评论 0 0
  • 最近,有两件事在社交媒体上挺热门,引起了人们的阵阵讨论。一个是,中兴科技的某员工因为被裁员而跳楼;另一个是,歌手朴...
    桑榆仁阅读 5,229评论 0 4