Избыточные HTTP 401 с использованием аутентификации Windows, AJAX, ASMX и внешнего ISA - PullRequest
7 голосов
/ 16 июля 2010

Среда:

  • Веб-формы ASP.NET
  • .NET 3.5
  • jQuery для AJAX
  • Веб-службы ASMX
  • Аутентификация Windows
  • SSL

Когда мы запускаем наше производственное веб-приложение, наши вызовы AJAX часто имеют 2-3 HTTP 401, прежде чем мы получим нашиHTTP 200.

Это нормально?
Есть ли что-то, что мы можем делать неправильно?

ПРИМЕЧАНИЕ: Вызовы не перестают работать, 401 пытаются до тех пор, пока они не будут успешными.

Пример трафика:
альтернативный текст http://i27.tinypic.com/i5rbyf.jpg

1 Ответ

9 голосов
/ 17 июля 2010

Это нормальный трафик для встроенной аутентификации Windows в стиле NTLM.Последовательность примерно такая:

  1. Клиент: HTTP GET url ...
  2. Сервер: HTTP 401 КТО ТАМ
  3. Клиент: Это я, клиент!
  4. Сервер: HTTP 401 ДА, ДОКАЗАТЬ ЭТО
  5. Клиент: У меня есть все необходимые вам доказательства прямо здесь.
  6. Сервер: HTTP 200 OK

Если вы посмотрите необработанные ответы от сервера, вы должны увидеть заголовки согласования и соответствующие закодированные / зашифрованные запросы от клиента.

...