的HTTP 1.1 RFC使用任何客戶端和服務器之間的兩個以上的TCP連接限制的客戶端。我想知道哪個強制執行此限制。哪個Web應用程序框架強制每個客戶端/服務器兩個HTTP的TCP連接限制?
問候
的HTTP 1.1 RFC使用任何客戶端和服務器之間的兩個以上的TCP連接限制的客戶端。我想知道哪個強制執行此限制。哪個Web應用程序框架強制每個客戶端/服務器兩個HTTP的TCP連接限制?
問候
的HTTP 1.1的實現,是不是Web應用程序框架的功能,它的客戶端或服務器的HTTP代理的功能。換句話說,它由客戶端的Safari,Chrome,Firefox和Internet Explorer以及服務器端的Apache或IIS [*]實現。當然,還有更多的HTTP代理實現HTTP 1.1;我只列出最受歡迎的(如「我使用」:-))。
就我所知,鏈接到的維基百科文章中列出的大多數Web應用程序框架都應該至少在Apache和/或IIS上運行,所以它們應該能夠從HTTP 1.1中受益。但是,如果瀏覽器用戶使用的是不支持HTTP 1.1,Apache和IIS的默認配置會退卻到HTTP 1.0,這將透明發生在最常見的情況您所選擇的Web應用程序框架。
更新:您的問題應該轉述(根據您的意見)至「哪些Web應用程序框架僅支持HTTP 1.1作爲傳輸協議」。
有強制執行端點配置或客戶端調用了只有HTTP 1.1沒有大的Web服務框架。所有這些都允許應用程序代碼(服務或客戶端)選擇傳輸。主要有兩個方面的原因:
唯一可能強制使用特定HTTP版本的框架是那些自帶Web服務器實現或預配置的主要Web服務器(通常是Apache)部署的框架。但是,我不知道任何只會強制使用HTTP 1.1的情況;如果有的話,他們只會強制執行HTTP 1.0。
也有一個非常實際的原因可以阻止HTTP 1.1強制執行Web服務 - 大多數部署預計可以在未知數量的中間網關(防火牆,緩存服務器,負載均衡器等)上運行,這些中間網關可能會或可能會不支持HTTP 1.1,所以Web服務客戶端和Web服務端點之間的協議協商失敗,並且不支持HTTP 1.0。
[*]那麼,在技術上,它是由WinHTTP的和WinInet的實現在Windows平臺,僅通過應用程序重複使用。我相信有一個共同的庫也可以在Linux上重用(可能稱爲libhttp.so或類似的東西,但不要在此引用我:-))。
感謝您的答覆弗郎。我很擔心基於Internet的Web服務正在調用其他基於互聯網的Web服務。框架確實允許開發這樣的應用程序。對於這些框架發出HTTP請求,所以我的問題依然存在! – 2010-04-08 09:35:30
需要注意的是HTTP/1.1的下一個版本將放寬此限制;看到http://trac.tools.ietf.org/wg/httpbis/trac/ticket/131 – 2010-04-08 11:30:29