2009-11-08 89 views
3

我想更好地瞭解.net http連接重用的工作原理。http連接重用

  1. 當我使用的HttpWebRequest從相同的AppDomain送東西給一些服務器的兩倍,是連接(可選)重用?因此,即使在我的應用程序中它們是不同的邏輯請求,服務器也會看到來自同一連接的兩個請求。

  2. 如果是,該行爲可以關閉嗎?

  3. 那麼使用authentication/ssl的連接又是如何重用?如果我爲每個請求提供不同的憑證/策略,這可能是一個安全漏洞。

回答

3

連接重用使用HTTP Keep-alive,這是HTTP/1.1的一項功能。通過使用HTTP Keep-alive,一個TCP連接可用於順序處理多個HTTP請求,因此可節省時間爲每個請求打開一個新的TCP連接。每個HTTP請求本身又是獨立的,因此認證和類似將不會被自動重新使用。

2

因爲它說,在http://tools.ietf.org/html/rfc2616#section-8.1 的RFC的HTTP標頭: 連接:保持活動

通過HTTP 1.0使用的東西,因爲連接是不是永久性的。

從http 1.1開始,所有的連接默認是持久的,這意味着這個頭不再被使用。