我正在尝试通过使用开发人员工具控制台监视网络来调试 Internet Explorer 10 的问题,但我遇到了一个奇怪的行为 - 有时控制台只是关闭并且所有记录的流量都丢失了。
更准确地说,调用顺序如下(这实际上是一个标准的 SAML 2.0 身份验证流程,客户端证书在 IDP 登录):
- GET https://application.host/alias -> 响应是一个自动提交 POST 表单到:
- POST https://identity.provider.host/sso/end/point/alias -> 在此处使用证书进行身份验证,并返回包含 SAML 2.0 响应的自动提交 POST 表单,并将其提交到:
- POST http://application.host/acs/end/point -> 返回自动提交 POST 表单到:
- POST https://application.host/alias(最初访问的资源) - 重定向到:
- 获取https://application.host/alias
请注意,初始访问后的一切都会自动发生,用户无需单击任何链接或提交某些表单。
自动提交 POST 表单是这样的:
<html>
<head>
... some head data here...
</head>
<body onLoad="document.forms[0].submit()">
<form name="auto.submit.form">
... some form fields here...
</form>
</body>
</html>
问题出现在第 2 点之后的某个地方 - 开发人员工具控制台刚刚关闭,但这似乎不会影响浏览器的实际工作。
我也尝试过使用 HttpWatch Professional - 我得到了相同的效果 - 插件只是停止录制或完全关闭。在这种情况下我不能使用 Fiddler,因为它会阻止我调试实际问题(即在启用 Fiddler 时它可以工作)。这个问题也是 IE 特有的,所以我不能使用其他浏览器的开发者工具。
对此有任何想法/提示吗?
更新:我想我至少想出了问题的一部分:完成导航到不同区域时,开发人员工具窗口会关闭。即在我的情况下,第 2 步中的主机位于 Internet 区域中,而来自本地 Intranet 区域中其他步骤的主机则在完成从第 2 点到第 3 点的导航后关闭开发工具窗口(而不是在重定向时从 1 到 2 完成)。不同之处在于第一个是通过 javascript 和自提交表单完成的,而另一个只是 302 重定向响应。
在我将所有站点添加到本地 Intranet 区域后,问题就停止了。它仍然是一个谜,而且似乎是一个 IE 问题而不是一个开发工具问题,因为 HttpWatch 似乎也受到了它的影响。