2009-06-21 75 views

回答

10

因爲它旨在用於連接沒有意義的事情。

它被設計成超文本傳輸​​協議,這意味着它的責任僅僅是允許發送「請發送給我文檔X」格式的消息,並且「這裏是文檔X,如您所請求的」。

我應該這樣的協議使用的持久連接?

+2

+1爲清晰度和歷史的角度。我仍然懷疑使用Web作爲應用程序平臺的智慧。 – cheduardo 2009-06-21 12:14:08

+0

如果你問我,整個網絡的東西就是泛光燈。 – 2011-05-20 15:41:08

2

可伸縮性原因。維護連接會佔用資源。

4
  1. AJAX不是面向連接的行爲的解決方法。這是爲了確保基於用戶交互,您只需要更新客戶端上的一部分內容,而不是從服務器再次獲取完整標記。它不會建立瀏覽器和Web服務器之間的往返連接。

  2. 如果每個服務器曾與每一位客戶的互聯網規模會得到有限的一對夫婦的數百萬用戶的實時連接。

0

我認爲原因很簡單 - 創建HTTP時:

1)大多數/所有網頁是靜態 2)隨着互聯網上幾乎沒有商業存在,它被認爲聯繫是可能象不要指向不同的網站。

所以,靜態頁面+非本地內容=無連接協議。

4

HTTP原是和仍然是 conectionless。 AJAX只是利用現代瀏覽器的JavaScript功能將XML(或者通常是JSON)發送到服務器,而無需重新加載頁面。

如前所述,主要原因是可擴展性。爲網站的每個瀏覽者維護一個活躍的連接將是非常耗費資源的。另外,事實上,HTTP的原始創建者沒有設想任何需要維護連接的系統 - HTTP的想法僅僅是發送文本響應到請求,然後完成。

6

而且簡單。

回想起來可能並不是一件壞事,因爲這意味着HTTP很簡單,這意味着它可以輕鬆用於簡單的事情。 你可以將它用於更難/更復雜的東西,通過在其上構建圖層來確實需要狀態。

正是這種簡單性讓HTTP被廣泛採用並使其具有吸引力。 如果不是那麼簡單,那它就會成爲另一個複雜的協議,除非必須,否則n-one會使用它。 如果你不相信我,你能告訴我爲什麼你不寫你的ajax應用程序使用RPC的通信和X11的顯示/渲染? :D

請記住HTTP最初的目的是爲了實現像讀/寫信息存儲的維基,而不是網上商店,銀行,文字處理器等。 我記得在閱讀Tim Timiers-Lee的採訪時,他很高興看到維基正在獲得廣泛的接受度(解釋)他是如何讓網絡發揮作用的。 在實踐中,這並未發生在更廣泛的網絡上,並且大多數網站禁用旨在啓用此功能的HTTP PUT方法。

相關問題