2010-04-08 62 views

回答

2

的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服務框架。所有這些都允許應用程序代碼(服務或客戶端)選擇傳輸。主要有兩個方面的原因:

  1. 協議選擇取決於實際服務的部署配置,所以它的正交所使用的框架,很少由Web服務開發人員
  2. 限制的傳輸協議作出該框架選擇HTTP 1.1意味着增加採用障礙,這是框架作者不希望的。

唯一可能強制使用特定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或類似的東西,但不要在此引用我:-))。

+0

感謝您的答覆弗郎。我很擔心基於Internet的Web服務正在調用其他基於互聯網的Web服務。框架確實允許開發這樣的應用程序。對於這些框架發出HTTP請求,所以我的問題依然存在! – 2010-04-08 09:35:30

相關問題