大多数情况下,数据都存储在服务器上。如果需要,项目需要,浏览器也可以存储部分数据,但只存储少量数据。如果抛开兼容性问题,浏览器有多种数据存储方案,比如WebStorageCookieIndexedDB浏览器缓存等,在浏览器控制器的Application选项卡中,可以看到它们被比作Cookie。一个cookie最大为4KB,每个网站最多有20+个左右的cookie(视浏览器而定)。存储在cookie中的数据将随浏览器自动发送至服务器。Cookie受跨域影响。默认情况下,一个域(http://www.a.com)的cookies不会发送到另一个域(http://www.b.com)虽然浏览器有操作cookies的API,但cookies主要是由服务器。IndexedDBIndexedDB是一个浏览器内置的数据库,比WebStorage强大得多。有完整的API,但是比较繁琐。IndexedDB适用于离线应用(不需要联网的应用)。更新数据比较麻烦。WebStorageWebStorage分为localStorage(本地存储)和sessionStorage(会话存储)。localStorage和sessionStorage的区别只有一个:localStorage永久保存数据,sessionStorage保存的数据在浏览器关闭后消失。localStorage和sessionStorage的API是完全一样的。默认情况下,存储的数据不会随请求发送到服务器。程序员可以自由控制是否携带这些数据。大多数浏览器允许保存至少2MB的数据(或更多)。localStorage和sessionStorage的API方法是完全一样的。Value,只有字符串和数字类型localStorage.getItem('key')--从浏览器存储中获取一个值localStorage.removeItem('key')--使用localStorage从浏览器存储中移除一个值保存token值登录成功后,存储服务器在localStorage中返回的令牌。localStorage.setItem('token',res.token);该值将永久保存。如果以后需要这个值,可以使用localStorage.getItem('token')取出来使用。
