Cookie 与Session及Web存储

Cookie 与Session

cookie也叫HTTP Cookie,最初是客户端与服务器端进行会话使用的。
比如,会员登录,下次回访网站时无须登录了;
cookie由名/值对形式的文本组成:name=value。
完整格式为:

name=value; [expires=date]; [path=path];[domain=somewhere.com]; [secure]
中括号是可选,name=value是必选。
document.cookie = 'user=xiaoming'//写入
alert(document.cookie); //读取

expires=date 失效时间,如果没有声明,则为浏览器关闭后即失效。声明了失效时间,那么时间到期后方能失效。
path=path 访问路径,当设置了路径,那么只有设置的那个路径文件才可以访问cookie。
domain=domain 访问域名,用于限制只有设置的域名才可以访问,那么没有设置,会默认限制为创建cookie的域名。
secure 安全设置,指明必须通过安全的通信通道来传输(HTTPS)才能获取cookie。
document.cookie = “user=zeng;secure”;

cookie局限性

Cookie虽然在持久保存客户端用户数据提供了方便,分担了服务器存储的负担。但是还有很多局限性的。
第一:每个特定的域名下最多生成20个cookie(根据不同的浏览器有所区别)。
1.IE6或更低版本最多20个cookie
2.IE7和之后的版本最多可以50个cookie。IE7最初也只能20个,之后因被升级不定后增加了。
3.Firefox最多50个cookie
4.Opera最多30个cookie
5.Safari和Chrome没有做硬性限制。
为了更好的兼容性,所以按照最低的要求来,也就是最多不得超过20个cookie。当超过指定的 cookie时,浏览器会清理掉
早期的cookie。IE和Opera会清理近期最少使用的cookie,Firefox会随机清理cookie。
第二:cookie的最大大约为4096字节(4k),为了更好的兼容性,一般不能超过4095字节即可。
第三:cookie存储在客户端的文本文件,所以特别重要和敏感的数据是不建议保存在cookie的。比如银行卡号,用户密码

第四: cookie 会把数据发送到服务端 有些会造成不必要的带宽浪费
cookie 不适合大量数据的存储,因为它们由每个对服务器的请求来传递,这使得 cookie 速度很慢而且效率也不高。
Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端记录信息确定用户身份。`

cookie 和session 的区别:

1、cookie数据存放在客户的浏览器上,session数据放在服务器上。
2、cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗
考虑到安全应当使用session。
3、session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能
考虑到减轻服务器性能方面,应当使用COOKIE。
4、单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。
5、所以个人建议:
将登陆信息等重要信息存放为SESSION
其他信息如果需要保留,可以放在COOKIE中

Web存储
localstorage

localStorage.setItem(‘name’, ‘小林’);
alert(localStorage.getItem(‘name’))
通过属性存储和获取
localStorage.book = ‘小林’;
alert(localStorage.book);
//删除存储
localStorage.removeItem(‘name’);
清除所有
localStorage.clear();
localStorage保存在缓存里,只有手工删除或者清理浏览器缓存方可失效。

sessionStorage

sessionStorage: session即会话的意思,在这里的session是指用户浏览某个网站时,从进入网站到关闭网站这个时间
段,session对象的有效期就只有这么长。
sessionStorage 方法针对一个 session 进行数据存储。当用户关闭浏览器窗口后,数据会被删除。
localStorage: 将数据保存在客户端硬件设备上,不管它是什么,意思就是下次打开计算机时候数据还在。
localStorage 方法存储的数据没有时间限制。第二天、第二周或下一年之后,数据依然可用。
两者区别就是一个作为临时保存,一个长期保存。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值