导致重定向的网址由Safari

时间:2017-02-25 23:27:56

标签: redirect safari http-headers

给定的网址

www.example.com/a

将客户端重定向到其他位置:

www.somesite.com/b

如果我使用 Safari (9.1.3)访问(第一个)网址,我会被正确地重定向到新位置,但原始网址www.example.com/a 会被加载两次< /强>

Firefox Chrome 浏览器不会发生这种情况,这是迄今为止针对此问题我测试过的唯一其他用户代理。

我从网络服务器访问日志(nginx)中获得了此行为的证据。

此外,当访问www.example.com/a时,会将记录添加到example.com服务器数据库的日志表中。使用Safari访问URL会导致创建两条记录。

我已经记录了第一个URL在第二次(大约)0到3秒后被点击。

我尝试了不同的重定向风格,状态为302 Found303 Other

我也尝试过(在HTTP标题中)指定过去的过期时间并在将来设置它(提前5 - 15 - 3700秒)。

这些变化都没有造成任何影响。

问题是:重新路由响应标头是否有问题导致此问题,或者我偶然发现了一些Safari奇怪的功能

我的重定向响应标头如下所示:

HTTP/1.1 302 Found
Server: nginx
Date: Sat, 25 Feb 2017 23:24:19 GMT
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
Connection: keep-alive
X-Powered-By: Fat-Free Framework
X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block
X-Content-Type-Options: nosniff
Cache-Control: max-age=15
Expires: Sat, 25 Feb 2017 23:24:34 +0000
Last-Modified: Sat, 25 Feb 2017 23:24:19 +0000
Location: http://www.somesite.com/b

1 个答案:

答案 0 :(得分:0)

经过一些测试后,我发现这是Safari 9中的一个无害的错误,只有当URL(会导致重定向)被输入(或粘贴)到地址栏时才会发生。

通过网页上的html链接(或者像Mail这样的应用程序中的链接)访问URL不会导致URL的双击。

同样这个问题在Safari 10中消失了