对于PWA开发者来说,Safari对脚本可写存储的7天上限意味着什么piaopiaomeishuguan

关于苹果Safari浏览器的智能跟踪预防(ITP)即将改变的声明引起了人们的困惑,人们指责苹果“在进步的网络应用程序刚刚起步时”就故意破坏它们。但事实并非如此。然而,这些变化对web开发人员和营销人员仍然有严重的影响。

开发人员面临着许多挑战,因为浏览器支持不同的功能,他们可能想使用现代网站。处理如此多的方差总是令人生畏的。复杂性的增加进一步影响跨广泛服务的部署。如果Safari中的PWA应用程序支持被限制在7天的周期内,这将严重阻碍这个令人兴奋的领域的进展,因为它需要花费大量的精力。

经过5年的开发,基于JavaScript的PWAs为开发人员提供了扩展网站内容以离线加载的机会,也为在线内容提供了刷新使用JavaScript存储的本地文档的机会。不幸的是,有些人滥用了从cookie到“localStorage”和应用程序缓存存储的扩展来跟踪个人识别变量。

如果这种滥用导致所有的存储时间只有7天,那就太可惜了。当然,indexedDB API和localStorage会受到此策略更改的影响,开发人员需要考虑这一点。苹果已经明确了它的立场,特别是关于web应用程序服务人员注册和缓存。

Safari的script-writable存储

通过cookies可获得的存储空间是非常有限的,由于涉及隐私和安全的原因,在7天后删除cookie,就像ITP的政策一样,是合理的。下一步应该扩展该策略以删除“脚本可写存储”,除了列出“服务工作者注册和缓存”的示例给PWAs的开发人员敲响了警钟之外。

Safari对于cookie的策略并不是严格的7天时间限制。它包括一个柜台长达7天未使用。这意味着每次用户打开Safari浏览器并访问您的网站时,您的七天cookie和脚本可写存储将被重新设置为另外七天。当用户不使用Safari时,空日不会对你不利。

只有当他们在某一天打开Safari并浏览你的网站而不访问你的网站时,这些日子才会被添加到你的记录中。你有七天这样的时间,直到你的cookie和所有的“脚本可写存储”被删除。只有用户对你的网站不活跃才会对你不利。用户将需要重新访问您的站点,以便您能够写入存储并开始使用一个新的计数器。

得到无穷天。

这对p来说还不够好。苹果承认。

由于PWAs的工作方式,一旦你的应用程序被添加到主屏幕上,它将永远不会运行七天。这是因为Safari本身没有加载你的应用(即使启动器调用了Safari Webkit的WebView对象)。

启动程序有自己的计数器,它与Safari的计数器完全分离,每个应用程序外壳都在自己独立的进程中操作。应用程序的自引用计数器只能在每次使用时重新设置。因为它每次都会重新设置自己,比如说,打开一个不同的应用,你会得到无限存储,直到或者除非用户删除你的应用。

值得注意的是,Webkit团队用注释解决了这个混乱:“如果您的web应用程序确实经历了网站数据删除,请告知我们,因为我们会认为这是一个严重的错误。”为网络应用中的第一方删除网站数据并不是智能跟踪预防的目的。”

我们为什么要关心?

PWA的开发和使用正在加速。作为一个google发起的项目,Safari支持对它的成功至关重要。谷歌的工程师们也非常关注Safari的新政策变化。最初,人们认为只有7天未使用寿命的“脚本可写存储”会威胁到这一成功。

它可能不是ITP的意图删除数据的第一方关系,包括PWA主屏幕应用程序。然而,他们的意图是进一步压缩Safari的默认隐私,以真正实现可靠的第一方关系,在7天的计数后清除所有未使用的数据。至少现在市场营销人员知道他们在Safari的日子屈指可数了。

滚动至顶部