使用Windows身份验证,AJAX,ASMX和外部ISA的HTTP 401s过多

ric*_*ott 7 asp.net ajax jquery asmx windows-authentication

Enviornment:

  • ASP.NET WebForms
  • .NET 3.5
  • 用于AJAX的jQuery
  • ASMX Web服务
  • Windows身份验证
  • SSL

当我们运行我们的生产Web应用程序时,在获得HTTP 200之前,我们的AJAX调用通常有2-3个HTTP 401.

这是正常的吗?
有什么我们可能做错了吗?

注意:呼叫不会失败,401会尝试直到成功.

示例流量:
alt文本http://i27.tinypic.com/i5rbyf.jpg

mwa*_*ker 9

这是NTLM风格的集成Windows身份验证的正常流量.顺序大致是:

  1. 客户端:HTTP GET url ...
  2. 服务器:HTTP 401谁去那里
  3. 客户:这是我,客户!
  4. 服务器:HTTP 401 YEAH证明它
  5. 客户:我在这里得到了你需要的所有证据.
  6. 服务器:HTTP 200 OK

如果您查看来自服务器的原始响应,您应该看到Negotiate标头以及来自客户端的相应编码/加密请求.