localstorage和cookie都可以用来做本地存储,实现数据持久化.它们的区别还是很多的,主要有以下几点.
第一: 就是能保存数据的大小不同.localstorage能保存的数据内容会更多一些,我在网上查资料差不多是5M左右.cookie能保存的内容会少一些,差不多只有4K
第二:它们的有效时间也不同.cookie的有效时长可以自己设置,而localstorage可以一直生效.
第三:在请求的时候,cookie会被携带,而localstorage不会.同源的cookie信息会自动作为请求头的一部分发给服务器,如果过多的设置cookie,会额外增加通信负荷.而localstorage没有这个问题,它是一直存在浏览器端.
在实际开发中,我会根据具体情况来选择使用它们.如果不需要与服务器通信并且可以长时间保存在客户端的信息就可以采用localstorage来保存, 例如: 会话状态管理(如用户登录状态、购物车、游戏分数或其它需要记录的信息); 个性化设置(如用户自定义设置、主题等);浏览器行为跟踪(如跟踪分析用户行为等)我会使用cookie.