Safari导航器和原始预检请求标头在用户导航时不会更改

Tho*_*ory 5 safari cors

我有两个网页托管a.example.comb.example.每个网页都包含一个带有<script>标记的脚本,托管在另一个域上,并提供正确的CORS标头.

在某个时刻,用户导航a.example.comb.example.com.

Safari在这里有一个奇怪的行为:预检请求中的referrerorigin头文件被填充a.example.com,使服务器发送错误值Access-Control-Allow-Origin(因此脚本无法执行).

有没有办法强制Safari浏览器origin在这种情况下发送正确的标题?

Ext*_*t3h 1

脚本的缓存策略是否包括Vary: Origin

导航到 后实际上是否有第二个请求b.example.com

如果没有,Safari 有可能实际上从缓存中提供脚本 - 尽管策略Access-Control-Allow-Origin禁止它访问资源。如果缓存策略配置不正确,则这是符合要求的行为。