cookie
1、本来是用于客户端和服务端通信 ,但是它有本地存储的功能,于是就被借用了。
2、使用document.cookie = ...获取和修改即可,但实际上用起来很麻烦
缺点:
- 存储量太小,只要4KB。因为要携带cookie到服务端去通信
- 所有http请求都带着,会影响获取资源的效率
- API简单,需要封装document.cookie = ...才能用
sessionStotage和localStorage
- HTML5专门为存储而设计,最大容量5M。不用在与服务器端通信中携带
- API简单易用:localStorage.setItem(key,value) ,localStorage.getItem(key)
- 区别:
- sessionStorage:如果浏览器关了,则缓存会被清理
- localStorage:浏览器关闭也不会被清理,只要不主动清理,则存储是永久性的(更常用)
所以cookie、localStorage、sessionStotage之间的区别:
1、容量。cookie容量是4KB,localStorage和sessionStorage是5M
2、 是否会携带到Ajax中,cookie会被携带,而另外两个不会
3、API易用性。显然sessionStorage和localStorage是非常好用的