Cookie 存储数据失效

在某次前端开发中,在处理账号信息及存储时,自己的账号信息怎么都存储不上。采用localStorage或sessionStorage存储没啥问题,但是局限于我们套用微信小程序的外壳web-view ,缓存机制仅能采用Cookie 存储方式。
在最终多个账号使用测试时,发现一个奇怪的问题:针对数据量少账号信息是可以存储数据。经过查阅文档得知:在所有浏览器中,任何cookie大小超过限制都被忽略,且永远不会被设置,各浏览器Cookie大小、个数限制如下:

一、浏览器允许每个域名所包含的cookie数:

- Microsoft指出InternetExplorer8增加cookie限制为每个域名50个,但IE7似乎也允许每个域名50个cookie。
  - Firefox每个域名cookie限制为50个。
  - Opera每个域名cookie限制为30个。
  - Safari/WebKit貌似没有cookie限制。但是如果cookie很多,则会使header大小超过服务器的处理的限制,会导致错误发生。
  注:“每个域名cookie限制为20个”将不再正确!

二、当很多的cookie被设置,浏览器如何去响应。

除Safari(可以设置全部cookie,不管数量多少),有两个方法:
  - 最少最近使用(leastrecentlyused(LRU))的方法:当Cookie已达到限额,自动踢除最老的Cookie,以使给最新的Cookie一些空间。Internet Explorer和Opera使用此方法。
  - Firefox很独特:虽然最后的设置的Cookie始终保留,但似乎随机决定哪些cookie被保留。似乎没有任何计划(建议:在Firefox中不要超过Cookie限制)。

三、不同浏览器间cookie总大小也不同:

- Firefox和Safari允许cookie多达4097个字节,包括名(name)、值(value)和等号。
  - Opera允许cookie多达4096个字节,包括:名(name)、值(value)和等号。
  - Internet Explorer允许cookie多达4095个字节,包括:名(name)、值(value)和等号。
注:多字节字符计算为两个字节。在所有浏览器中,任何cookie大小超过限制都被忽略,且永远不会被设置

技术参考:https://www.yixzm.cn/blog/524015.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mr Xu Luka

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值