一、 session与cookie区别
如果说Cookie机制是通过检查客户身上的“通行证”来确定客户身份的话,那么Session机制就是通过检查服务器上的“客户明细表”来确认客户身份。Session相当于程序在服务器上建立的一份客户档案,客户来访的时候只需要查询客户档案表就可以了。
区别 | session | cookie |
---|
数据存放位置 | 存放在服务器上 | 存放在客户浏览器上 |
安全程度 | 安全 | 不安全,可以分析浏览器存储的cookie进行cookie欺骗,从而获取数据 |
性能使用程度 | session会在一定时间内保存在服务器上,当访问增多,会比较占用服务器的性能 | 考虑到减轻服务器性能方面,应当使用cookie |
数据存储大小 | 由于session保存在服务器端,session不宜过大,会影响服务器端的性能 | 单个cookie保存的数据不能超过4K,最多保存20个cookie |
保存时效 | 是会话级别,会话结束,session也被清除 | 可以设置保存时间,在有效期内一直保存 |
数据类型 | 任何数据类型的数据 | 字符串 |
数据共享 | session不能区分路径,同一用户在访问一个网站期间,所有session在任何一个地方都可以访问到 | 同一网站中不同路径下的cookie互相是访问不到的 |
二、localStorage、sessionStorage、cookie区别
区别 | localStorage | sessionStorage | cookie |
---|
存储大小 | 单个5M | 单个5M | 单个4K |
有效期 | 永久有效,除非手动删除浏览器保存的localStorage | 当前会话下有小, 关闭页面或者浏览器会被清除 | 有效期内有效 |
与服务器通信 | 不参与 | 不参与 | 参与,HTTP请求头中携带cookie |
作用域 | 不同浏览器无法共享localStorage的数据 ,相同浏览器的不同页面可以共享localStorage数据 | 不同浏览器无法共享sessionStorage的数据, 相同浏览器的不同页面也无法共享sessionStorage数据 | 相同浏览器的不同页面可以共享cookie数据 |