我有一個C#.NET中的桌面應用程序,它非常頻繁地連接到一個ASMX Web服務。有兩個後臺工作人員非常頻繁地連接到這個Web服務。該應用程序還具有兩種Web瀏覽器控件,其形式爲從ASP.NET網站加載兩個不同的網頁。這些頁面也有持續的AJAX請求。什麼混淆或導致我的Http Web請求標頭有時包含「代理連接」而不是「連接」?
問題:有時候有些請求 - 通過瀏覽器頁面中的XMLHttp Web引用&都會卡住。我使用fiddler進行了檢查,發現這些請求獲得http狀態502響應,並且實際上在TCP IP連接時失敗。我發現的問題的模式/原因是,來自應用程序的所有http web請求通常都包含「Connection」標頭,但一些隨機請求中包含「Proxy-Connection」標頭。並且可以肯定的是,502錯誤總是會引起這些請求,並且只有這些請求帶有「代理連接」頭。
如果這是問題的原因,我想知道是什麼導致一些請求發送「Proxy-Connection」頭而不是正常的「Connection」頭?
UPDATE:由於我不斷地使用fiddler測試和監視這個 - 我現在有了一個新的發現。當應用程序正在運行並且提琴手正在捕獲日誌時 - 我在請求標題中隨機搜索日誌中的「代理服務器」,有時它會顯示「1個會話包含'代理服務器'」,但是當我再次研究它時,它會顯示「包含0個會話」代理'」。我甚至在它說「1會話包含'代理'」時甚至快速地保存了選定的日誌,但是當我稍後檢查保存的日誌時,它不包含請求頭部中的'代理'並且狀態也是200(不是502)。現在,當我玩弄捕捉實時日誌的提琴手時,我發現幾乎所有(或大部分)請求實際上都是從「Proxy-Connection」頭開始的,並在請求完成時更改爲「Connection」。那麼這是否會導致沒有完成的請求保留「Proxy-Connection」頭?
任何線索?我很困惑,並試圖弄清楚 - 無論代理連接頭是否導致502錯誤?或502錯誤導致代理連接頭?
看起來有一些HTTM協議的實現出現錯誤,請參閱這裏的服務器列表http://www.http-stats.com/header/Proxy-Connection – sll