大家好,我是
世奇
,笔名
ConardLi
。
今天继续聊
浏览器策略
,这是我 「
浏览器策略解读
」 专栏的第
35
篇文章了,感谢读者们一如既往的支持!
开门见山,先来个简单的描述:
今天主要介绍的是一个
HTML
新的用于嵌入内容的标签:
<fencedframe>
,有点儿类似于
iframe
。与
iframes
不同的是,
<fencedframe>
会限制与其嵌入上下文的通信,从而允许框架访问跨站点的数据,但是不与嵌入上下文共享数据。
这个可能有点难理解,且听我慢慢道来 ~
当浏览器全面禁用三方 Cookie
详解 Cookie 新增的 SameParty 属性
详解 Cookie 的分区存储(CHIPS)
三方 Cookie 替代品 — 隐私沙盒的最新进展
因为三方
Cookie
禁用的影响太大了,很多的业务场景都会受到影响,今天我们来看看广告业务:
在浏览网页的时候,你可能在一个站点上查看过某些产品,然后你可能又会在其他网页中看到它的广告,这就是广告智能推荐。
这种技术主要还是通过使用第三方
Cookie
跨站点共享信息的跟踪技术来实现的。
当三方
Cookie
完全禁用,这种技术会受到很大影响。
隐私沙盒
的 API 来配合使用,浏览器可能会为
Fenced frames
生成一个不透明的
URL
。
例如,配合
FLEDGE
,浏览器可以生成一个
urn:uuid
,来映射智能广告推荐的
URL
:
1
|
<fencedframe src="urn:uuid:c36973b5-e5d9-de59-e4c4-364f137b3c7a" mode="opaque-ads" ></fencedframe>
|
只有在
Fenced frames
内部嵌入的广告商的站点才能获取到
urn:uuid
和
URL
的真实映射关系,外部的顶级站点是获取不到的。
注意,
Fenced frames
不能使用
postMessage
与它的父元素进行通信。但是,一个
Fenced frames
可以使用
postMessage
和它的
iframes
进行通信。
浏览器会给从
Fenced frames
和嵌入在
Fenced frames
中的
iframes
发出的请求设置
Header
:
1
|
Sec-Fetch-Dest: fencedframe
|
对应的,为了正常响应
Fenced frames
嵌入的文档,服务端也需要设置下面的
Header
:
1
|
Supports-Loading-Mode: fenced-frame
|
有了
Fenced frames
,我们就可以在不和嵌入的广告商共享用户信息的情况下实现智能广告推荐了,相信它未来将是禁用三方
Cookie
后智能广告推荐领域的主要解决方案。
ConardLi
。