移动端html5开发-->
移动端上用什么方法保存用户登录的信息比较好?
传统的cookies,还是localStorage,sessionStorage
也看过了一下相关的文章 http://segmentfault.com/a/1190000002723469
有开发过相关实例的大牛们么? 想听听大牛们的意见!
移动端html5开发-->
移动端上用什么方法保存用户登录的信息比较好?
传统的cookies,还是localStorage,sessionStorage
也看过了一下相关的文章 http://segmentfault.com/a/1190000002723469
有开发过相关实例的大牛们么? 想听听大牛们的意见!
要做本地存储的可能有以下的几种方式:
cookie、localstorage、sessionstorage、file system API、indexedDB、Web SQL.
cookie、localstroage不多说可能是大家用的比较多得方案。都可以用作本地缓存,记录简单地字符串。除了常见的区别外我多几点。
需要多提的两点哈
1.cookie在浏览器发送网络请求的时候,会在http头中会自动携带cookie过去,其他方案不会。
所以也就是说如果做一些用户登录状态的话还是靠cookie更合适一点。
2.在浏览器中执行清除缓存操作的时候,cookie会被清掉,而其他的存储方案不会被清除掉。因为其他方案相比cookie算是真正的持久化方案。
说说其他的三种哈,从前往后说,
1.file system API 提供一种在浏览器啥箱内创建类似文件及文件夹得嵌套结构,可以用来存储长文本,注意是长文本哈,也就是说存储的体积可以很大,我曾经尝试着存储过500M+以上的,没问题,只不过这种速度还是蛮低的。
2.indexedDB 这货功能是非常强大的,如果你上网查询过相关的资料,你会发现这货的写法跟mongodb很像。不过为什么没有被广泛使用起来呢,其实考虑下web端的应用场景,应该不会有人将大量的数据存储在用户端,这样会有很多问题需要解决。比如服务端客户端的数据同步,多端的数据同步,客户端数据丢失后的恢复工作等等等,想想将用户数据全部存储在都是很危险的。
3.web sql 如果讲indexedDB 类比成nosql语法,那么web sql则就是传统的sql了。这个web sql不想多说,首先使用比较复杂,另外这个标准w3c已经不再维护了,所以不推荐使用了。
4.session Stroage忘说了,语法和localstorage 十分相似,只不过生命周期是会话级别的。关闭浏览器就不在了。
啰嗦这么多,希望有帮助。
27 回答13k 阅读
8 回答3.5k 阅读✓ 已解决
6 回答1.3k 阅读✓ 已解决
5 回答5.3k 阅读✓ 已解决
4 回答1.6k 阅读✓ 已解决
3 回答1.7k 阅读
4 回答2.3k 阅读✓ 已解决
支持localStorage的话用之不错,存储空间比cookies大,可以把服务端不需要交互验证的保存在客户端;如果需要向服务端交互验证,还是用cookies。