前端用户相关的操作数据,比如用户在左侧收藏栏放置的产品信息,电子合同用户点击“已阅读”的确认信息、带有关闭按钮的提示条是否已关闭的信息、资源列表自定义表头的信息等等用户的数据都归为metaData数据。
用户的metaData数据,如果仅仅保存在前端的localStorage中,如果用户清空缓存/隐身模式/换了其他浏览器/换了其他电脑,该信息会造成不一致的情况,除了带来体验问题,像电子合同等场景,也会失去意义。
所以该信息需要通过API保存在后端,这样就可以避免多端数据不同步的问题。
那么问题来了?是否可以用cookie来实现呢?多端的问题
用户第一次新手指引完成后,存在cookie的数据中,经过http/https会被发送到服务端,存储下来,如果出现更换浏览器,或者移动端登录,因为服务端有该用户的cookie数据,可以种回客户端,同样可以达到效果。
但是这里会有个问题,这个cookie就不能被设置成httpOnly,这样会有cookie被篡改的风险。
还有别的缺点嘛?
cookie 数据量有限只4KB,cookie数据多的话拖慢API请求