2011-01-30 66 views
0

嘿, 首先這是一個概念性問題,我不知道是否StackOverflow是合適的地方 - 所以如果我錯了,我很抱歉。爲什麼我們使用HTTP而不是遠程調用?

當今網絡不僅用於傳遞原始信息。許多且特別複雜的Web應用程序正在使用中。這些Web應用似乎非常複雜,使用基於簡單數據交換的HTTP協議似乎是不合理的,而且它是無狀態的。

對這個Web應用程序使用遠程調用會不會更令人信服?我認爲最大的好處是通過使用HTML來實現統一的GUI。但有些應用程序不需要圖形界面,然後到了HTTP協議非常繁瑣的地步。

+2

我認爲這屬於程序員SE,但我不確定。任何人? – 2011-01-30 23:14:03

回答

3

簡短回答:允許HTTP通過其他協議將被阻止的防火牆。

1

一個簡短的部分答案是:首先,出於歷史原因 - 從Web開始作爲請求文檔的協議使用HTTP,並且此後用於一些不同的目的。繼續使用它的一個原因是它通常在端口80上運行,您可以確信它不會被客戶端和服務器之間的防火牆阻止。協議的無狀態可能並不總是你想要的,但它至少具有保護服務器端免受非常小的過載問題的優點。

0
  • OS獨立
  • 防火牆通過
  • Web服務器已經在負載均衡,服務器爭先恐後等方面有很好的理解,大部分「解決」問題
  • 不必重新發明輪子
0

其他協議現在越來越多地被使用,包括遠程調用和(我特別熟悉的)WCF(它允許二進制TCP/IP數據傳輸)。

這允許數據傳輸速度更快,適用於需要更多帶寬的應用程序。例如,一個n層應用程序可以在應用程序和表示層之間使用WCF二進制傳輸。另外公共Web服務允許多種協議,包括二進制。

對於數據傳輸協議,應該配置防火牆(即專門爲您的應用程序公開一個端口),而不是解決方法,我不推薦使用協議,因爲防火牆不會阻止它。

使用的協議實際上取決於誰將使用該協議以及您對消費有何控制 - 例如,外部第三方可能需要具有普通協議數據接口的純文本版本。另一方面,單個Web應用程序中的兩個層可能能夠利用二進制數據傳輸來提高性能和安全性。

相關問題