【问题标题】:Safari 7 Network Request Timeline doesn't show redirects?Safari 7 网络请求时间线不显示重定向?
【发布时间】:2014-08-09 03:54:44
【问题描述】:

我正在尝试调试网站之间的重定向问题,我很确定这是由于 Safari 对 3rd 方 cookie 的默认处理,但我试图通过查看正在传递的 cookie 来确认问题出在哪里使用 Web Inspector 中的网络请求时间线在请求/响应中。这都是 HTTPS 流量,所以外部嗅探器出来了 - 我需要使用 Safari 的调试工具。

我遇到的问题是我认为网络时间线没有报告重定向。我写了一个页面,其中只包含指向供应商网站的 javascript 重定向;它应该验证 URL 参数并传回执行另一个重定向的页面。我在浏览器中看到的是不同的页面(登录页面、供应商网站)。网络时间线显示我的页面正在加载,然后是供应商登录页面正在加载。检查员将我的页面显示为登录页面的引荐来源。我的代码中没有对此登录页面的引用 - 这必须是从正确页面重定向的结果(我的 javascript 代码应该重定向到的页面)。但时间线没有显示任何重定向。

我知道它应该显示重定向;当该功能添加到 Safari 6 时,我在 safari 博客上找到了一篇文章。我找不到任何设置或任何东西来控制它。

这是一个已知的错误吗? Safari 7 中是否删除了该功能?还是这个操作符错误?

更新:我在 Firefox 中进行了测试,使用“接受第三方 Cookie”设置的“来自访问者”选项来模仿 Safari 默认的行为。在 Firefox 的时间线中,我可以清楚地看到两个 302 重定向,然后才登陆供应商登录页面。 Safari 不显示它们。因此,野生动物园显然正在压制他们。这是我错过的错误还是设置?

【问题讨论】:

  • 您确定正在发生重定向吗?我同意,根据您的描述,这似乎很可能,但您能否在另一个浏览器中确认它作为健全性检查?
  • 好点@pieman72。由于可疑的 cookie 问题,我不相信我在另一个浏览器中看到的会是一样的。但是你的问题让我意识到——我可以在另一个浏览器中禁用 cookie 并比较结果。我已经用我的发现更新了这个问题。
  • 很高兴把它缩小了一点。不幸的是,我对 Safari 的了解还不够,无法让您更接近答案。祝你好运。
  • 我看到了类似的问题。 Chrome 显示 2 个请求:GET 301(其他)-> GET 200(文档)。 Safari 似乎也遵循重定向,但仅显示 GET 200(文档)。
  • 谢谢! Safari 中的第三方 Cookie 设置为我们指明了正确的方向。

标签: http safari


【解决方案1】:

在 Safari 中,HTTP 重定向显示在资源选项卡中,而不是时间线中。每个重定向都显示为单独的资源条目,提供其所有元信息,例如时间和标头。看截图

选择重定向链条目会为您提供其状态代码和响应标头中的重定向位置。

来源及更多信息:https://www.webkit.org/blog/1091/more-web-inspector-updates/#resources_inspection

【讨论】:

  • Safari 9 中的 Web Inspector 已经过重新设计,我在“网络”、“资源”和“时间轴”选项卡中都看不到重定向。这令人沮丧。
【解决方案2】:

发布这个以防有人偶然发现这个问题:在 Safari 13 中,重定向直接显示在网络条目中。

网络入口的标题相当于重定向链后的目的地。

如果您进一步向下滚动,您可以看到有关每个重定向的详细信息。

【讨论】:

    猜你喜欢
    • 2015-04-29
    • 2020-12-18
    • 2015-10-26
    • 2023-03-09
    • 2015-03-06
    • 1970-01-01
    • 1970-01-01
    • 2015-06-08
    • 2013-02-12
    相关资源
    最近更新 更多