早前有报道称,苹果将在 Safari 12.1 中移除“请勿追踪”(Do Not Track)的选项,转而为用户提供更加智能的追踪防护体验。现在,根据苹果 WebKit 博客上分享的信息 —— iOS 12.2 beta、以及 macOS High Sierra / Mojave 系统中的 Safari 12.1,已经包含了更新后的智能追踪防护功能。正如苹果所述,ITP 2.1 将客户端 Cookie 的存储期限设置为 7 天。在此之后,Cookie 将会过期。
苹果表示,这么做是为了提供隐私、安全和性能方面的改进。该公司在WebKit 博客上写到:
● 首先,某些跨站追踪器会借助以保存的第一方站点的 cookie 进行持久追踪,这对隐私保护造成了很大困扰,因为所有关联脚本都可以借此展开追踪。
● 其次,document.cookie 中可用的信息,可能会被跨站攻击脚本、或内存上的推测性执行攻击所窃取。有鉴于此,其不应该携带账户凭证等敏感信息。
● 并且,由于 cookie 被添加到每个适用的 HTTP 请求中,cookie 数量的激增,会加重页面资源的负担,减慢网页加载的速度。
● 此外,许多 cookie 具有高熵值,意味着它们无法有效压缩。我们遇到了在每个资源请求中发送的带有千字节 cookie 的网站。
● 然后,出于性能的考量,需要对传出 cookie 的标头大小进行限制。当跨站跟踪器添加第一方 cookie 时,网站可能会达到此限制。
● 最终,我们调查了有关新闻网站订阅者的虚假注销报告。发现跟踪器正在添加如此多的 cookie,导致合法登录的 cookie 被挤出。
不过,Safari 并不会对网站妥善使用(不记录追踪用户)的身份验证 cookie 有存储限制,因其只影响通过 document.cookie 创建的 cookie 。
ITP 2.1 还允许每个站点只有一组 cookie(而不是更多倍数),具有跨站跟踪功能的第三方工具,则需要借助 Storage Access API,来获取 cookie 的访问权限。
这一变化简化了开发人员的 cookie 行为、降低了 Safari 的内存占用,并使智能跟踪预防功能与更多平台兼容。此外,Safari 12.1 还引入了经过验证的分区缓存(用于减少缓存滥用)
正如本月早些时候的报道,Safari 已移除对 Do Not Track 功能的支持。该公司表示,因为 DNT 是可选支持项,所以大多数网站都忽视了它,所以没有进一步发展它的合理必要。