标签: httpwatch

GMail如何实施Comet?

在HttpWatch的帮助下,我试图找出GMail如何实现Comet.

我使用两个帐户登录GMail,一个在IE中,另一个在Firefox中.在GMail中使用"WASSUP"等一些神奇的词语在GMail中聊天.然后,我注销两个GMail帐户,过滤任何http内容而不使用"WASSUP"字符串.结果显示哪个HTTP请求是流式传输通道.(注意:我必须注销.否则,永无止境的HTTP不会在HttpWatch中显示内容.)

结果很有趣.流通道的URL如下:

https:// mail/channel/bind?VER = 8&at = xn3j33vcvk39lkfq .....

毫无疑问,GMail使用IFRAME进行IE浏览.Http内容以" <html><body>" 开头.

最初,我猜测GMail在Firefox中使用多部分XmlHttpRequest进行Comet.令我惊讶的是,响应标头没有"multipart/x-mixed-replace"标头.响应标头如下:

HTTP/1.1 200 OK
Content-Type: text/plain; charset=utf-8
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: Fri, 01 Jan 1990 00:00:00 GMT
Date: Sat, 20 Mar 2010 01:52:39 GMT
X-Frame-Options: ALLOWALL
Transfer-Encoding: chunked
X-Content-Type-Options: nosniff
Server: GSE
X-XSS-Protection: 0
Run Code Online (Sandbox Code Playgroud)

不幸的是,HttpWatch不会告诉HTTP请求是否来自XmlHttpRequest.内容不是HTML而是JSON.它看起来像是对XHR的响应,但是如果没有multipart/x-mixed-replace,这对Comet不起作用,对吗?

还有什么办法可以弄清楚GMail如何实现Comet?

更新: 经过进一步调查,我相信GMail以这种方式实现了Comet:1)在IE中,它使用了forever-hidden-iframe; 2)在Firefox中,它使用forever-XHR而不使用multipart/x-mixed-replace标头.客户端将在条件(readyState == 3)OR(readyState == 4)中响应.也就是说,处于交互状态和完整状态.

gmail comet httpwatch

14
推荐指数
1
解决办法
4036
查看次数

某些导航会关闭Internet Explorer 10开发人员工具

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

更确切地说,呼叫序列如下(这实际上是标准的SAML 2.0身份验证流程,IDP上的客户端证书登录):

  1. 获取https://application.host/alias - > response是一个自动提交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>
Run Code Online (Sandbox Code Playgroud)

问题出现在第2点之后 - 开发人员工具控制台刚关闭但这似乎不会影响浏览器的实际工作.

我也试过HttpWatch Professional - 我得到了同样的效果 - 插件只是停止录制或完全关闭.在这种情况下我不能使用Fiddler,因为它阻止我调试实际问题(即当启用Fiddler时它可以工作).此问题也是IE特有的,因此我无法使用其他浏览器的开发人员工具.

关于这个的任何想法/提示?

更新:我想我至少知道了一部分问题:当导航到不同区域时,开发人员工具窗口关闭.即在我的情况下,步骤2中的主机位于Internet区域,而来自本地Intranet区域中其他步骤的主机,然后在从第2点到第3点的导航完成后关闭开发工具窗口(而不是重定向时)从1到2完成).不同之处在于,第一个是通过javascript和自提交表单完成的,而另一个只是302重定向响应.

将所有站点添加到本地Intranet区域后,问题停止发生.仍然是一个谜,似乎是一个IE问题而不是开发工具问题,因为HttpWatch似乎也受其影响.

internet-explorer developer-tools httpwatch internet-explorer-10

11
推荐指数
1
解决办法
9696
查看次数

用于分析和捕获请求/响应的HTTP工具

我正在寻找可用于调试Web应用程序的工具.我已将搜索范围缩小到以下工具:

  1. HttpWatch的.
  2. 提琴手.
  3. ieHTTPheader
  4. liveHTTPheader.

如果你们中的一些人有这些工具的经验可以讨论他们的优点和缺点(你喜欢的功能,或者你认为某些工具中缺少但存在于其他工具中),那将是很好的.我在HTTPWatch和Fiddler之间主要混淆,我我更喜欢Fiddler(免费),如果它可以满足所有或大部分HTTPWatch的功能(但是我愿意为HTTPWatch付费,如果值得的话).

PS - 我知道HTTPWatch和Fiddler比其他两个工具强大得多(如果你不同意,请告诉我).我相信你们中的大多数人都会想要更多关于这些工具的详细信息,但是如果你们能够比较这些工具,请考虑更广泛的视角,将它们作为一般工具进行比较.

http fiddler httpwatch

5
推荐指数
2
解决办法
1万
查看次数