财神机器人

番摊机器人,顶尖机器人,数聊机器人,粮草机器人

顶尖机器人 Extension storage、Interest groups 和 Shared storage 简介-浏览器缓存之【隐私沙盒与扩展专用存储】



很多前端开发者做浏览器扩展、网页缓存优化时,还在依赖localStorage、Cookie这类传统存储方案,结果要么遇到跨域隔离问题,要么被浏览器隐私政策拦截,甚至直接触发合规风险。Chrome隐私沙盒推出的这三类全新存储机制,完全是为适配新的隐私规则而生,既能解决传统存储的痛点,又能满足合规要求,是现在做浏览器扩展、网页个性化功能必须掌握的核心知识点。


一、Extension storage:浏览器扩展的专属安全存储


Extension storage是Chrome专门给浏览器扩展设计的存储API,完全替代过去扩展常用的localStorage,从根源上解决了传统存储在扩展环境里的所有痛点。

它最核心的优势是完全独立于网页的存储环境,和普通网页的localStorage、Cookie完全隔离,网页端的JS根本没有权限访问扩展里存的数据,彻底避免了数据泄露风险。而且它支持跨设备同步,只要用户在浏览器里开了同步功能,存在storage.sync里的数据,能自动同步到用户登录的所有Chrome设备上,不用扩展开发者自己搭后端同步服务。

和传统localStorage比,它的上限直接拉到了5-10MB,是localStorage的25倍以上,还支持异步读写,完全不会阻塞扩展的主线程,不会出现过去扩展用localStorage导致页面卡顿的问题。

新手最容易踩的坑是忘记在manifest.json里声明storage权限,没声明的话直接调用API会直接报错,而且它不能直接存函数、循环引用的复杂对象,必须先序列化成JSON字符串再存,不然会直接丢失数据。


二、Interest groups:隐私沙盒里的用户兴趣分组存储


Interest groups是Chrome隐私沙盒里替代第三方Cookie的核心机制,完全是为了在不跟踪用户隐私的前提下,实现个性化广告、内容推荐而生。

过去网站靠第三方Cookie跨站跟踪用户的浏览行为,给用户打兴趣标签,现在第三方Cookie被浏览器逐步禁用之后,Interest groups让浏览器本地自己维护用户的兴趣分组,比如用户经常看篮球内容,浏览器本地就会把他自动加入"篮球爱好者"这个兴趣组,所有兴趣标签全部存在用户本地浏览器里,第三方网站根本拿不到用户的原始浏览数据。

当网站需要做个性化推荐的时候,只能从浏览器本地读取对应的兴趣分组ID,不能拿到用户的个人身份信息,既实现了个性化内容投放,又完全不会泄露用户隐私,完美符合现在的GDPR、国内个人信息保护法的合规要求。

它的核心限制是每个兴趣组的成员上限是100万,而且浏览器会自动定期清理超过30天不活跃的兴趣组,避免标签无限膨胀,开发者不能自定义超出浏览器规则的兴趣标签,不然会直接被浏览器拦截。


三、Shared storage:跨域场景下的合规共享存储


Shared storage是隐私沙盒里专门解决跨域数据共享问题的存储方案,过去不同域名的网页之间想共享数据,只能靠第三方Cookie,现在第三方Cookie被禁用之后,Shared storage给了一个合规的替代路径。

它的存储空间上限是100MB,比Interest groups大得多,允许不同域名的网页,在用户授权的前提下,安全地共享非身份类的业务数据,比如同一个集团下的不同子站,共享用户的内容偏好设置,不用再靠违规的跨站Cookie传递数据。

它最核心的规则是"看不见的输出":网页不能直接读取Shared storage里的原始数据,只能通过浏览器提供的聚合API,调用选择、计数这类操作,拿到聚合之后的统计结果,从根源上避免了跨站数据泄露的风险,完全不会出现过去第三方Cookie被滥用跟踪用户的问题。


四、三类存储的适用场景与避坑指南


很多开发者刚接触这三类存储,很容易搞混它们的适用场景,用错了不仅达不到效果,还会触发浏览器的隐私拦截:


如果你是做浏览器扩展,需要存扩展的配置、用户的本地设置,直接用Extension storage,不要用任何网页端的传统存储,这是唯一合规且稳定的方案。

如果你是做广告平台、内容推荐平台,需要实现不依赖第三方Cookie的个性化投放,用Interest groups,完全替代过去的用户行为跟踪标签系统,直接满足合规要求。

如果你是跨多个域名的站点,需要共享非身份类的业务统计数据,用Shared storage,不要尝试用各种黑科技绕过浏览器的第三方Cookie拦截,最后只会被浏览器直接屏蔽。

这三类存储全部是Chrome隐私沙盒的长期支持特性,未来几年所有主流浏览器都会逐步跟进兼容,现在提前掌握,就能避开传统存储被淘汰之后的适配大坑。


需要我给你一份‌Extension storage的最简可运行Demo代码‌,直接复制到扩展项目里就能实现配置的读写和跨设备同步吗?


Powered By Z-BlogPHP 1.7.3

财神机器人,顶尖机器人,数聊机器人,粮草机器人