2012-07-20 86 views
0

在工作中,我有XP上的IE8,在IIS6上調用WinServer 2003上的.net 4.0 web應用程序。 IWA打開。當我打電話給該頁面時,當初的aspx頁面調用將在Fiddler中顯示3行。首先是匿名請求,其次是一些AUTHORIZATION:NEGOTIATE頭,然後第三個對於同一個頭(可能是一個令牌)具有更長的值。前兩次導致401錯誤,最後200次成功。但這是預料之中的。需要幫助瞭解與IIS,IWA,也許kerberos的問題

問題:當下列資源文件(CSS,JS,圖像)被調用時,大多數都是(但不是全部)經歷相同的3步調用。前兩個是401錯誤,然後第三個給我200個代碼和內容。

這是正常的嗎?我認爲只有頁面本身的第一個調用是唯一需要3步過程的東西。

僅供參考 - 我們在服務器上安裝了OAM和WebGate,但是我們卸載了它,我們仍然收到這種行爲。它可能是應用程序池沒有它的身份/域ID設置權?我真的不想在Anonymous上打開樣式,腳本和圖片文件夾。 謝謝!

回答

1

如果您的服務器配置爲保護任何資源,則這是正確的。由於HTTP是無狀態的,每個請求都必須經過身份驗證。如果使用會話cookie來記住auth,這可以避免。否則這種情況每次都會發生。

+0

有趣,因爲它確實來回傳遞了asp.net會話。我認爲這是你引用的會話cookie。實際上,這樣做更多挖掘,我發現有IIS6和kerberos和NTLM的問題,都不記得authroization。好吧。我想微軟不希望我製作高性能的網站。啊。 – 2012-07-20 22:15:09

+0

是的,那是會話cookie。請檢查是否有任何會話cookie通過,如果請求靜態資源。服務器必須知道該會話已經過身份驗證。無論如何,如果服務器要求認證,客戶必須迴應,如果他可以。所以你必須檢查你的服務器爲什麼這樣做。 – 2012-07-21 08:22:38