我正在尝试调试网站之间的重定向问题,我很确定这是由于 Safari 对第 3 方 cookie 的默认处理,但我试图通过查看传递的 cookie 来确认问题出在哪里使用 Web 检查器中的网络请求时间线在请求/响应中。这是所有 HTTPS 流量,因此外部嗅探器已失效 - 我需要使用 Safari 的调试工具。
我遇到的问题是我认为网络时间线没有报告重定向。我写了一个页面,其中只包含一个指向供应商网站的 javascript 重定向;它应该验证 URL 参数并传回执行另一个重定向的页面。我在浏览器中看到的是不同的页面(登录页面、供应商网站)。网络时间线显示正在加载我的页面,然后是正在加载的供应商登录页面。检查员将我的页面显示为登录页面的引荐来源网址。我的代码中没有引用此登录页面 - 这必须是从正确页面重定向的结果(我的 javascript 代码应该重定向到的页面)。但是时间线没有显示任何重定向。
我知道它应该显示重定向;当该功能被添加到 Safari 6 时,我在 safari 博客上找到了一篇帖子。我找不到设置或任何东西来控制它。
这是一个已知错误吗? Safari 7 中是否删除了该功能?或者这是运算符(operator)错误?
更新:我在 Firefox 中进行了测试,使用“接受第三方 Cookie”设置的“来自已访问”选项,以模仿 Safari 默认情况下的操作。在 Firefox 的时间轴中,我可以清楚地看到在登陆供应商登录页面之前有两个 302 重定向。 Safari 不显示它们。因此,safari 显然正在压制它们。这是错误还是我遗漏了设置?
最佳答案
在 Safari 中,HTTP 重定向显示在资源选项卡中,而不是时间轴中。每个重定向都显示为单独的资源条目,提供其所有元信息,例如时间和标题。看截图
选择重定向链条目会为您提供其状态代码和响应 header 中的重定向位置。
来源和更多信息:https://www.webkit.org/blog/1091/more-web-inspector-updates/#resources_inspection
关于http - Safari 7 网络请求时间轴不显示重定向?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24292564/