WEB应用的快速发展,前端对于本地存储一些数据也成为一种重要的需求,例如保存账户登录的用户名、密码等,既提高了用户体验,也省去了跟后端交互所需的步骤,还不影响网站的性能。
cookie
cookie是一种会话跟踪技术,用于在进行网页访问的时候,存储页面中的客户端的用户信息。
Session
session机制是一种服务器端的机制,服务器使用一种类似于散列表的结构(也可能就是使用散列表)来保存信息。
Cookie 和 Session 的区别
cookie数据存放在客户的浏览器上,session数据放在服务器上。
cookie不是很安全,别人可以分析存放在本地的cookie并进行cookie欺骗,考虑到安全应当使用session。
session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能考虑到减轻服务器性能方面,应当使用cookie。
单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。
建议:将登陆信息等重要信息存放为SESSION;其他信息如果需要保留,可以放在cookie中。
localStorage
这是一种持久化的存储方式,也就是说如果不手动清除,数据就永远不会过期。
sessionStorage
和服务器端使用的session类似,是一种会话级别的缓存,关闭浏览器会数据会被清除。不过有点特别的是它的作用域是窗口级别的,也就是说不同窗口间的sessionStorage数据不能共享的。使用方法(和localStorage完全相同)。
localStorage 和 sessionStorage 的区别
localStorage用于持久化的本地存储,除非主动删除数据,否则数据是永远不会过期的。第二天、第二周或下一年之后,数据依然可用。
essionStorage用于本地存储一个会话(session)中的数据,这些数据只有在同一个会话中的页面才能访问并且当会话结束后数据也随之销毁。因此sessionStorage不是一种持久化的本地存储,仅仅是会话级别的存储。当用户关闭浏览器窗口后,数据立马会被删除。
参考文档1
参考文档2