13

我正在尝试通过使用开发人员工具控制台监视网络来调试 Internet Explorer 10 的问题,但我遇到了一个奇怪的行为 - 有时控制台只是关闭并且所有记录的流量都丢失了。

更准确地说,调用顺序如下(这实际上是一个标准的 SAML 2.0 身份验证流程,客户端证书在 IDP 登录):

  1. GET https://application.host/alias -> 响应是一个自动提交 POST 表单到:
  2. POST https://identity.provider.host/sso/end/point/alias -> 在此处使用证书进行身份验证,并返回包含 SAML 2.0 响应的自动提交 POST 表单,并将其提交到:
  3. POST http://application.host/acs/end/point -> 返回自动提交 POST 表单到:
  4. POST https://application.host/alias(最初访问的资源) - 重定向到:
  5. 获取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 似乎也受到了它的影响。

4

1 回答 1

13

IE 开发人员工具和 HttpWatch 是基于进程的,因此如果您让 IE 创建一个新进程,您将获得该工具的一个新实例。在这些情况下,默认创建新的 IE 进程:

  • 您从保护模式站点导航到非保护模式站点,例如从 Internet 区域到 Intranet 区域

  • 您打开一个新的 IE 选项卡或窗口

在他的博文中有一些关于 IE 进程模型的信息:

http://blog.httpwatch.com/2009/04/07/seven-things-you-should-known-about-ie-8/

一种可能的解决方法是将注册表值 TabProcGrowth 设置为零,如博客文章中所述。

于 2014-12-16T23:07:34.483 回答