[C#] 為什麼我的REST服務.NET客戶端發送沒有驗證頭的每個請求,然後用身份驗證頭重試它?


Answers

Question

我們碰巧運行一個REST Web服務,要求客戶端使用基本身份驗證。 我們用各種語言製作了一系列精美的樣本,展示瞭如何與我們的服務進行交互。 現在我正在檢查該服務的IIS日誌,並發現以下模式經常發生:

  • 一個請求到來,被HTTP代碼401拒絕
  • 同樣的請求會被重發並成功

這看起來像第一個請求發送沒有授權標題,然後第二個與正確的標題發送並成功。 大部分時間日誌記錄包含“user-agent”,這是我們在.NET示例中所使用的字符串。

所以我認為這個問題只與.NET程序有關。 我們的示例代碼沒有重現問題,所以我假設用戶以某種方式修改了代碼或從頭開始編寫代碼。

我們嘗試聯繫用戶,但顯然他們不想投入時間研究。 所以很高興找到導致.NET程序行為的最可能的場景。

他們為什麼要這樣做? 為什麼他們不會在第一次嘗試時附上標題?




Links