Мы запускаем веб-службу REST с API, требуя, чтобы клиенты использовали обычную проверку подлинности. Мы создали набор опрятных образцов на разных языках, демонстрируя, как взаимодействовать с нашим сервисом. Теперь я просматриваю журналы IIS службы и вижу, что следующий шаблон происходит довольно часто:
- приходит запрос, отклоняется с кодом HTTP 401
- тот же запрос повторно отправлен и успешно завершен
который выглядит так, как первый запрос отправляется без заголовков авторизации, а затем второй отправляется с правильными заголовками и выполняется успешно. В большинстве случаев запись журнала содержит "пользовательский агент", который является той же строкой, которую мы установили в нашем примере .NET.
Поэтому я предполагаю, что проблема связана только с программами .NET. Проблема не воспроизводится с помощью нашего образца кода, поэтому я предполагаю, что пользователи каким-то образом модифицировали код или написали свой собственный с нуля.
Мы попытались связаться с пользователями, но, по-видимому, они не хотят вкладывать время в исследования. Поэтому было бы неплохо найти наиболее вероятный сценарий, который приводит к такому поведению программ .NET.
Зачем им это делать? Почему они не присоединяли заголовки с первой попытки?