前端 _本地存储问题
2012-07-21 20:31
351 查看
我问了许多的前端,使用Cookie会有什么弊端,很多都是回答说不安全之类的,不安全那是肯定的,不过只要服务端在使用Cookie的时候适当的加个密就可以防止很多安全的问题了,这不是我们前端主要关心的问题。在日常的开发过程中,本人碰到了以下问题:
1. 存储大小问题
2. 在请求过程中会带过去服务端,这样如果Cookie过大会影响发包。
首先我们看看第一点,一些权威机构对Cookie存放大小是怎么说的
一个域名的每个 cookie 被限制为 4,096 字节。这个总数可以 4 千字节 (KB) 的一个名称-值对的形式存在,或作为多达 20 名称-值对的总的 4 KB。如果计算机没有足够的空间存储该 cookie,该 cookie 将被丢弃。
就是说单个值不得超过4K, 可以多达20个。这样的存储量基本是够用了,不过对于服务器端如果也使用的话就很难说了,因为这里就不单单是前端要用了,还多了一方,这样的数据是不可靠的,你永远无法知道是不是你自己把他给堵满了,或者把你的改了。对于团队开发,使用时有这个必要看看cookie使用的情况。
另外还有一点就是,如果你用一些如Firebug的调试软件抓一下头部你会发现,在网站发送请求(Post)的时候会把cookie也带了过去。这样一看,如果你单cookie有1KB 共有 5 个就 5 KB, 按1M的小水管来算,上传最大就只有50K/S, 就上传就花了 0.1 秒,等服务端返回加处理这样一个过程花的时间就长了许多。对于大访问量的站就更不用说了,一个用户单一个请求上传就花了5KB, 1024个用户就 5M,1024W就是5M*10000,这是多么大的上传宽带开销。
针对以上这两个问题本人觉得可以用以下的解决方案.
支持 localstorage 的浏览器使用 localstorage , 这个本地存储的对象ie8以上的都支持了,Firefox 、Chrome就更不用说了。
对于一些低级一点的浏览器如IE6 IE7 可以用Flash的SharedObject模拟一个本地存储的对象。
这提到的这两个东西都是服务器端不会用到的,所以也不用担心数据被服务端的人给改了。
可以对localstorage 和 Flash的存储进行一个封装,让它使用方便点就可以了。具体怎么样去实现这里就不多说了,提供一些参考资料吧。
http://blog.csdn.net/ld_flex/article/details/6002774 http://www.cnblogs.com/xiaowei0705/archive/2011/04/19/2021372.html
1. 存储大小问题
2. 在请求过程中会带过去服务端,这样如果Cookie过大会影响发包。
首先我们看看第一点,一些权威机构对Cookie存放大小是怎么说的
一个域名的每个 cookie 被限制为 4,096 字节。这个总数可以 4 千字节 (KB) 的一个名称-值对的形式存在,或作为多达 20 名称-值对的总的 4 KB。如果计算机没有足够的空间存储该 cookie,该 cookie 将被丢弃。
就是说单个值不得超过4K, 可以多达20个。这样的存储量基本是够用了,不过对于服务器端如果也使用的话就很难说了,因为这里就不单单是前端要用了,还多了一方,这样的数据是不可靠的,你永远无法知道是不是你自己把他给堵满了,或者把你的改了。对于团队开发,使用时有这个必要看看cookie使用的情况。
另外还有一点就是,如果你用一些如Firebug的调试软件抓一下头部你会发现,在网站发送请求(Post)的时候会把cookie也带了过去。这样一看,如果你单cookie有1KB 共有 5 个就 5 KB, 按1M的小水管来算,上传最大就只有50K/S, 就上传就花了 0.1 秒,等服务端返回加处理这样一个过程花的时间就长了许多。对于大访问量的站就更不用说了,一个用户单一个请求上传就花了5KB, 1024个用户就 5M,1024W就是5M*10000,这是多么大的上传宽带开销。
针对以上这两个问题本人觉得可以用以下的解决方案.
支持 localstorage 的浏览器使用 localstorage , 这个本地存储的对象ie8以上的都支持了,Firefox 、Chrome就更不用说了。
对于一些低级一点的浏览器如IE6 IE7 可以用Flash的SharedObject模拟一个本地存储的对象。
这提到的这两个东西都是服务器端不会用到的,所以也不用担心数据被服务端的人给改了。
可以对localstorage 和 Flash的存储进行一个封装,让它使用方便点就可以了。具体怎么样去实现这里就不多说了,提供一些参考资料吧。
http://blog.csdn.net/ld_flex/article/details/6002774 http://www.cnblogs.com/xiaowei0705/archive/2011/04/19/2021372.html
相关文章推荐
- [转]苹果iOS 5限制应用本地存储问题
- native 嵌套 h5 本地存储问题
- 无法再次从本地仓库push到github存储库问题
- html5本地存储localStorage 存储json对象存储格式问题
- 前端三种本地存储方式
- 苹果iOS 5限制应用本地存储问题
- 移动端浏览器隐私模式/无痕模式使用本地存储localStorage/sessionStorage的问题
- [ios2]苹果iOS 5限制应用本地存储问题 【转】
- HTML5 indexedDB前端本地存储数据库实例教程
- 【麦子学院】03.web前端开发之html5本地存储、网页留言板、video、audio、HTML5拖放
- 前端的本地存储
- 本地存储在IE下面的编码问题及解决方法
- dblink远程库表结构修改导致本地库调用此表的存储过程出错问题解决方法
- 前端面试题 -----浏览器本地存储和Cookie的利弊
- android异步获取图片并且本地存储的后续问题
- 基于JavaMail的邮件客户端--JustLook(四、邮件的本地存储与安全性问题)
- "如何将本地开发的系统迁移到云端,数据存储问题
- native 嵌套 h5(localstorage) 本地存储问题
- "如何将本地开发的系统迁移到云端,数据存储问题
- 本地存储在IE下面的编码问题及解决方法