[C#] なぜ私のRESTサービスの.NETクライアントは、認証ヘッダーなしですべての要求を送信し、認証ヘッダーでそれを再試行するのですか?


Answers

Question

クライアントが基本認証を使用することを要求するAPIを使用してREST Webサービスを実行します。 私たちは、さまざまな言語の一連のすっきりしたサンプルを作成し、サービスとのインターフェース方法を示しました。 今私はサービスのIISログを見直して、次のパターンが頻繁に起こることを確認します。

  • HTTPコード401でリクエストが拒否される
  • 同じ要求が再送され、成功する

最初の要求がAuthorizationヘッダーなしで送信され、次に2番目の要求が正しいヘッダーとともに送信され、成功したように見えます。 ほとんどの場合、ログレコードには、.NETサンプルに植えたのと同じ文字列の「user-agent」が含まれています。

だから、私は問題が.NETプログラムだけであると仮定します。 私たちのサンプルコードでは問題は再現されないので、ユーザーが何らかの形でコードを修正したか、自分のコードを最初から書き込んだと仮定します。

私たちはユーザーに連絡を試みましたが、明らかに研究に時間を費やすことは望ましくありません。 したがって、最も可能性の高いシナリオが.NETプログラムのこの動作につながるものを見つけることはうれしいでしょう。

なぜ彼らはこれをするだろうか? 最初の試みでヘッダーを付けないのはなぜですか?