1.RPC主要是基於TCP/IP協議,而HTTP服務主要是基於HTTP協議
(摘自百度百科: OSI模型有7層結構,每層都可以有幾個子層。 OSI的7層從上到下分別是 7 應用層 6 表示層 5 會話層 4 傳輸層 3 網絡層 2 數據鏈路層 1 物理層 ;其中高層(即7、6、5、4層)定義了應用程序的功能,下面3層(即3、2、1層)主要面向通過網絡的端到端的數據流)
http協議是應用層協議。RPC協議假定某些傳輸協議的存在,如TCP或UDP,為通信程序之間攜帶信息數據。
在OSI網絡通信模型中,RPC跨越了傳輸層和應用層。RPC使得開發包括網絡分布式多程序在內的應用程序更加輕易。
2. 同步和異步的區別。
3. HTTP與RPC存在重大不同的是:請求是使用具有標准語義的通用的接口定向到資源的,這些語義能夠被中間組件和提供服務的來源機器進行解釋。結果是使得一個應用支持分層的轉換(layers of transformation)和間接層(indirection),並且獨立於消息的來源,這對於一個Internet規模、多個組織、無法控制的可伸縮性的信息系統來說,是非常有用的。與之相比較,RPC的機制是根據語言的API(language API)來定義的,而不是根據基於網絡的應用來定義的。