前端数据存储有哪些?
客户端存储可以通过这些技术来实现:
- cookie
- sessionstorage、
- localstorage(H5 存储 Web Storage )
cookie
cookie 用于告知服务端两个请求是否来自同一浏览器,如保持用户的登录状态。 setCookie 用于设置,getCookie 用于获取
cookie 特点:
- cookie 的大小受限制,cookie 大小被限制在 4KB。
- cookie 也可以设置过期的时间,默认是会话结束的时候,当时间到期自动销毁。
- cookie 不安全,容易被拦截暴露数据。
sessionstorage
sessionStorage 对象是存储特定于某个会话的数据,也就是数据只保存到浏览器关闭后消失,存储在 sesstionStorage 中的数据可以跨页面刷新而存在。 sessionStorage 特点:
- sessionStorage 仅在当前浏览器窗口关闭之前有效;
- sessionStorage 的数据仅在本地保存,不会自动发送给服务器
- sessionStorage 即使同一页面,不同的浏览器窗口中也不共享
localstorage
localStorage 存储是持久的,不通过手动清除的话,就会一直存在与客户端。 localStorage.getItem(key) 用于获取 localStorage.setItem(key, value) 用于设置
localstorage 特点:
- localStorage 的数据仅在本地保存,不会自动发送给服务器
- localstorage 在所有同源窗口中都共享。