一、 浏览器存储方式
- cookie:一般用来在浏览器端存储用户的部分信息,cookie数据会自动在浏览器端和服务器之间进行传递,在http请求发送时,会把在浏览器端的cookie的数据发送给服务器
- localStorage:在html5中新加入的一种浏览器本地存储方式。
- sessionStorage:浏览器的一种短暂存储方式,当关闭浏览器后存储的数据会清空
- UserData:IE浏览器专属的存储方式
- GlobalStorage:Firefox 2.0+版本专属的一种浏览器存储方式
- Google gear:谷歌浏览器的一种存储方式,使用时需要安装组件
二、 主流的cookie、localStorage、sessionSotrage三种浏览器端存储方式的区别
-
是否与服务端进行交互
1)cookie数据始终携带在同源的http请求中,在浏览器与服务器中间进行交互
2) sessionStorage和locaStorage数据不会与服务器进行交互,始终在浏览器本地存储
-
存储大小的限制
1)cookie存储的数据不能大于4k,一般用来存储会话的数据或者用户的部分信息2)localStorage和sessionStorage存储大小比cookie打,一般可以到达5M
-
存储的数据有效期
1)cookie的数据有效期可由开发人员进行时间设置,默认是在浏览器关闭后失效2)sessionlocalStorage的数据有效期仅在浏览器窗口关闭或者刷新前
3)localStorage的数据一直在本地保存不会删除,除非由开发人员手动删除
-
作用域的区别:
1)sessionStorage中的数据在不同的浏览器窗口中不能共享
2)localStorage中的数据在所有同源的浏览器窗口中共享
3)cookie中的数据在所有同源的浏览器窗口中共享
三、服务器端的Session数据
- Session是服务器端技术,利用这个技术,服务器在运行时可以为每一个用户的浏览器创建一个其独享的session对象,由于session为用户浏览器独享,所以用户在访问服务器的web资源时,可以把各自的数据放在各自的session中,当用户再去访问服务器中的其它web资源时,其它web资源再从用户各自的session中取出数据为用户服务
- session和cookie的区别
1、cookie数据存放在客户的浏览器上,session数据放在服务器上。
2、cookie不是很安全,别人可以分析存放在本地的cookie并进行cookie欺骗,考虑到安全应当使用session。
3、session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能,考虑到减轻服务器性能方面,应当使用cookie。
4、单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。
5、可以考虑将登陆信息等重要信息存放为session,其他信息如果需要保留,可以放在cookie中。