localStorage与sessionStorage
cookie/localStorage/sessionStorage之间的区别
- 保存方式区别:cookie数据始终在同源的http请求中携带,即cookie会在浏览器和服务器之间来回传递,但可以通过路径限制其只属于某个路径下有效。而sessionStorage和localStorage不会把数据发给服务器,仅在本地保存。
- 存储大小限制不同:cookie数据不能超过4K,只适合保存很小的数据,如会话标识。sessionStorage和localStorage可存储的大小在5M或以上。
- 数据有效期不同:sessionStorage仅在当前浏览器窗口关闭前有效;localStorage始终有效,窗口或浏览器关闭也一直保存;cookie只在设置的cookie过期时间之前一直有效,即使窗口或浏览器关闭。
- 作用域不同:sessionStorage不在不同的浏览器窗口中共享,即使是同一个页面;localStorage和cookie在所有同源窗口中共享。
localStorage的方法
- localStorage.setItem("key","value"); 添加一个键值对
- localStorage.getItem("key"); 通过key查询value
- localStorage.removeItem("key"); 删除key对应的键值对
- localStorage.clear(); 清除全部的键值对
sessionStorage的方法(与localStorage方法一样)
- sessionStorage.setItem("key","value"); 添加一个键值对
- sessionStorage.getItem("key"); 通过key查询value
- sessionStorage.removeItem("key"); 删除key对应的键值对
- sessionStorage.clear(); 清除全部的键值对