日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Restful 和 RPC 是什么關(guān)系與區(qū)別

lhl545545 ? 來(lái)源:電子發(fā)燒友網(wǎng) ? 2018-02-07 15:35 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Restful 和 RPC 是什么關(guān)系

這兩個(gè)不是互斥的,HTTP是不是RPC完全取決于client的具體形式。傳統(tǒng)的RPC一般是基于二進(jìn)制協(xié)議的,client發(fā)個(gè)二進(jìn)制包過(guò)來(lái)(然后阻塞),server處理完回復(fù)一個(gè)包,client收到后醒來(lái)。在二進(jìn)制協(xié)議中一般可以在包中加個(gè)id來(lái)指明回復(fù)和請(qǐng)求的對(duì)應(yīng)關(guān)系,這樣我們就能在一個(gè)tcp連接上同時(shí)發(fā)起多個(gè)請(qǐng)求和回復(fù)。HTTP這種文本協(xié)議也可以加id,但由于一些原因(Content-Length可能缺失),即使加了id也做不到一個(gè)連接上同時(shí)傳多個(gè)HTTP消息,所以HTTP協(xié)議一般會(huì)和server保持多個(gè)連接,每個(gè)連接上同時(shí)最多只有一個(gè)HTTP消息。此種”連接池“方式即為HTTP中的”Keep-alive“。所以即使在HTTP上(或任何協(xié)議上),我們?nèi)匀豢梢宰龅礁咝У匕l(fā)送一個(gè)請(qǐng)求過(guò)去,阻塞,等待server處理完后,再醒來(lái)。這不就是RPC么。所以這兒的選擇更多是平衡功能和性能。一般來(lái)說(shuō),面向終端用戶(hù)的盡量用Restful HTTP。原因是認(rèn)知廣,直觀,編程語(yǔ)言都支持HTTP(包括shell,這樣調(diào)試起來(lái)方便),性能不是那么重要,方便用戶(hù)share鏈接。而面向內(nèi)部系統(tǒng)的話(huà)如果機(jī)器不多也可以考慮用Restful HTTP,如果機(jī)器很多還是盡量用二進(jìn)制的RPC吧,畢竟性能差距還是很大的。

 Restful 和 RPC 是什么關(guān)系與區(qū)別

restful架構(gòu)與rpc區(qū)別

RPC

RPC 即遠(yuǎn)程過(guò)程調(diào)用, 很簡(jiǎn)單的概念, 像調(diào)用本地服務(wù)(方法)一樣調(diào)用服務(wù)器的服務(wù)(方法)。

通常的實(shí)現(xiàn)有 XML-RPC , JSON-RPC , 通信方式基本相同, 所不同的只是傳輸數(shù)據(jù)的格式。

(如果你已經(jīng)習(xí)慣于XML繁重的尖括號(hào),你不妨可以嘗試下更加輕型,高效,傳輸效率高的 JSON.)

一個(gè)簡(jiǎn)單的通信過(guò)程通常為:

Request

<?xml version=“1.0”?>

member.get_username_by_id

Response

<?xml version=“1.0”?>

Zhu Tao

向服務(wù)器發(fā)送一個(gè)過(guò)程調(diào)用的方法及其參數(shù), 得到服務(wù)器返回的方法執(zhí)行的結(jié)果。

REST

REST 不是一種協(xié)議,它是一種架構(gòu), 一種 Web Service 能夠如果滿(mǎn)足 REST 的幾個(gè)條件, 通常就稱(chēng)這個(gè)系統(tǒng)是 Restful 的。

這里提到的條件包括:

C/S結(jié)構(gòu) (這是Internet服務(wù)的一個(gè)基本特征)

無(wú)狀態(tài) (很熟悉吧,呵呵)

可以cache (想起了瀏覽器?)

分層系統(tǒng) (想起了無(wú)數(shù)的架構(gòu)?)

統(tǒng)一的接口 (如果這是可能的,程序員有福了, :D)

code on demand(可選, 其實(shí)是一種擴(kuò)展性的要求)

看了這幾個(gè)特征后,你想起了什么?

你可能會(huì)破口而出: HTTP.

我答: You got it!

HTTP是WWW的最核心的協(xié)議, 它將簡(jiǎn)單的分布于世界各個(gè)角落的資源都統(tǒng)一起來(lái), 統(tǒng)一的地址, 簡(jiǎn)單的方法, 和一定數(shù)量的表達(dá)方式。(你可能對(duì)這三點(diǎn)描述很模糊,請(qǐng)go ahead)。

REST 的三個(gè)要素是 唯一的資源標(biāo)識(shí), 簡(jiǎn)單的方法 (此處的方法是個(gè)抽象的概念), 一定的表達(dá)方式。

REST 是以 資源 為中心, 名詞即資源的地址, 動(dòng)詞即施加于名詞上的一些有限操作, 表達(dá)是對(duì)各種資源形態(tài)的抽象。

以HTTP為例, 名詞即為URI(統(tǒng)一資源標(biāo)識(shí)), 動(dòng)詞包括POST, GET, PUT, DELETE等(還有其它不常用的2個(gè),所以 整個(gè)動(dòng)詞集合是有限的), 資源的形態(tài)(如text, html, image, pdf等)

Restful 和 RPC 是什么關(guān)系與區(qū)別

RPC與REST的區(qū)別

如果你想只記住一點(diǎn),那么就請(qǐng)記住 RPC是以動(dòng)詞為中心的, REST是以名詞為中心的, 此處的 動(dòng)詞指的是一些方法, 名詞是指資源。

你會(huì)發(fā)現(xiàn),以動(dòng)詞為中心,意味著,當(dāng)你要需要加入新功能時(shí),你必須要添加更多的動(dòng)詞, 這時(shí)候服務(wù)器端需要實(shí)現(xiàn) 相應(yīng)的動(dòng)詞(方法), 客戶(hù)端需要知道這個(gè)新的動(dòng)詞并進(jìn)行調(diào)用。

而以名詞為中心, 假使我請(qǐng)求的是 hostname/friends/, 無(wú)論這個(gè)URI對(duì)應(yīng)的服務(wù)怎么變化,客戶(hù)端是無(wú)需 關(guān)注和更新的,而這種變化對(duì)客戶(hù)端也是透明的。

至于其它的區(qū)別,如對(duì)實(shí)現(xiàn)語(yǔ)言的依賴(lài), 耦合性等,這些都是上面提到的這個(gè)根本區(qū)別所衍生的。

讓我們回到引入部分的2個(gè)問(wèn)題。 當(dāng)你每天使用HTTP沖浪時(shí),你都在使用 REST 與遠(yuǎn)程的服務(wù)器進(jìn)行親密接觸。 當(dāng)你使用Gtalk和同事朋友溝通時(shí),你則是在享受著 RPC 的便利.

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • RPC
    RPC
    +關(guān)注

    關(guān)注

    0

    文章

    114

    瀏覽量

    12298
  • Restful
    +關(guān)注

    關(guān)注

    0

    文章

    14

    瀏覽量

    3853
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    FRED應(yīng)用:RPC Photonics 擴(kuò)散片BSDF導(dǎo)入模擬

    摘要 RPC Photonics公司有高品質(zhì)的的工程漫射體BSDF測(cè)試數(shù)據(jù),但它對(duì)于FRED幫助甚少,下面這個(gè)步驟描述了如何利用FRED腳本轉(zhuǎn)換RPC Photonics提供的TXT文件,并將數(shù)據(jù)
    發(fā)表于 04-30 08:16

    碼神之路Netty-從零實(shí)現(xiàn)RPC框架課分享

    面向未來(lái)的分布式基石:Netty 從零實(shí)現(xiàn) RPC 框架全體系實(shí)戰(zhàn) 在微服務(wù)架構(gòu)與云原生技術(shù)大行其道的今天,分布式系統(tǒng)已成為互聯(lián)網(wǎng)應(yīng)用的標(biāo)準(zhǔn)形態(tài)。而在這些龐大系統(tǒng)的底層,隱藏著一個(gè)至關(guān)重要的通信引擎
    的頭像 發(fā)表于 02-13 11:38 ?166次閱讀

    電壓、電位、電勢(shì)和電平的區(qū)別關(guān)系

    在電學(xué)領(lǐng)域中,電壓、電位、電勢(shì)和電平是幾個(gè)密切相關(guān)的概念,它們既有區(qū)別又有聯(lián)系。理解這些概念的本質(zhì)及其相互關(guān)系,對(duì)于掌握電路分析和電子技術(shù)至關(guān)重要。下面將從定義、計(jì)算方法和實(shí)際應(yīng)用等方面,詳細(xì)闡述
    的頭像 發(fā)表于 11-24 07:37 ?1454次閱讀
    電壓、電位、電勢(shì)和電平的<b class='flag-5'>區(qū)別</b>與<b class='flag-5'>關(guān)系</b>

    單片機(jī)和嵌入式,到底是什么關(guān)系

    關(guān)系:什么是單片機(jī)?什么是嵌入式?它們到底是不是一回事?先說(shuō)說(shuō)大家最先聽(tīng)說(shuō)的那個(gè)詞——單片機(jī)(MCU)。單片機(jī),全稱(chēng)是MicrocontrollerUnit,顧名思
    的頭像 發(fā)表于 11-14 10:28 ?2121次閱讀
    單片機(jī)和嵌入式,到底是<b class='flag-5'>什么關(guān)系</b>?

    RESTful API設(shè)計(jì)原則: 構(gòu)建易用、可擴(kuò)展的API接口。

    一、理解REST架構(gòu)的核心約束 1.1 RESTful API的六大基本原則 Roy Fielding博士在其博士論文中定義了REST架構(gòu)的六大核心約束: 統(tǒng)一接口(Uniform
    的頭像 發(fā)表于 10-24 10:45 ?735次閱讀

    工業(yè)智能網(wǎng)關(guān)與交換機(jī)有什么關(guān)系

    工業(yè)智能網(wǎng)關(guān)與交換機(jī)在工業(yè)網(wǎng)絡(luò)中扮演不同角色,二者既存在功能差異,又在特定場(chǎng)景下形成互補(bǔ)關(guān)系,共同構(gòu)建高效、安全的工業(yè)通信體系。以下是具體分析: 一、功能定位差異 工業(yè)智能網(wǎng)關(guān) 核心功能 :作為工業(yè)
    的頭像 發(fā)表于 10-21 09:29 ?930次閱讀

    RESTful API設(shè)計(jì)原則: 構(gòu)建易用、可擴(kuò)展的API接口

    在當(dāng)今微服務(wù)架構(gòu)和分布式系統(tǒng)盛行的時(shí)代,RESTful API已成為系統(tǒng)間通信的核心橋梁。優(yōu)秀的API設(shè)計(jì)不僅能提升開(kāi)發(fā)效率,還能顯著降低系統(tǒng)維護(hù)成本。本文將深入探討如何遵循REST
    的頭像 發(fā)表于 10-20 13:45 ?1548次閱讀

    傳感器和執(zhí)行器之間有什么關(guān)系?

    傳感器和執(zhí)行器是現(xiàn)代自動(dòng)化系統(tǒng)的核心部件。傳感器負(fù)責(zé)檢測(cè)環(huán)境信息,如溫度、光照等;執(zhí)行器則根據(jù)信息執(zhí)行動(dòng)作,如啟動(dòng)電機(jī)、打開(kāi)閥門(mén)等。它們之間存在著功能互補(bǔ)、協(xié)同工作、相互依存和集成發(fā)展等關(guān)系,共同推動(dòng)自動(dòng)化技術(shù)的發(fā)展。
    的頭像 發(fā)表于 09-29 11:42 ?1109次閱讀

    邏輯“1”與芯片引腳的輸入電壓有什么關(guān)系?

    邏輯“1”與芯片引腳的輸入電壓有什么關(guān)系?
    發(fā)表于 08-26 07:24

    可配置的數(shù)據(jù)閃存大小、地址和 APROM 之間有什么關(guān)系?

    可配置的數(shù)據(jù)閃存大小、地址和 APROM 之間有什么關(guān)系
    發(fā)表于 08-26 06:58

    請(qǐng)問(wèn)可配置的數(shù)據(jù)閃存大小、地址和 APROM 之間有什么關(guān)系?

    可配置的數(shù)據(jù)閃存大小、地址和 APROM 之間有什么關(guān)系
    發(fā)表于 08-21 07:10

    Jtti.ccVPS和IP的關(guān)系是什么?一文講清服務(wù)器背后的網(wǎng)絡(luò)邏輯

    不少朋友在使用 VPS 搭建網(wǎng)站、做代理或遠(yuǎn)程桌面時(shí),經(jīng)常聽(tīng)到“獨(dú)立IP”、“共享IP”、“原生IP”這些詞,但到底 VPS 和 IP 是什么關(guān)系?有沒(méi)有固定綁定?怎么查?怎么換?今天小編就從
    的頭像 發(fā)表于 07-07 17:41 ?1167次閱讀

    什么是STM32? STM32與ARM有什么關(guān)系? STM32能做什么?

    什么是STM32 具體用于什么方面較多?? STM32與ARM有什么關(guān)系 STM32能做什么,簡(jiǎn)單的比如調(diào)節(jié)協(xié)議,為什么那么久的產(chǎn)品到現(xiàn)在還是主流?
    發(fā)表于 06-23 17:34

    請(qǐng)問(wèn)cypd3125 I2C硬件地址和HPIv2 組件內(nèi)設(shè)定的slave address地址有什么關(guān)系,必須一致嗎?

    各位大俠: 請(qǐng)問(wèn)cypd3125 I2C硬件地址和HPIv2 組件內(nèi)設(shè)定的slave address地址有什么關(guān)系,必須一致嗎?我把CYPD3125 I2C 地址通過(guò)硬件設(shè)為0x40,感覺(jué)可以找到設(shè)備,但HPIv2 通信有問(wèn)題,不知道兩個(gè)地址有什么關(guān)系?哪位幫忙指點(diǎn)一下,
    發(fā)表于 06-03 08:19

    上位機(jī)和下位機(jī)是什么關(guān)系

    上位機(jī)和下位機(jī)在工業(yè)自動(dòng)化、儀器儀表等控制領(lǐng)域中是相互協(xié)作、緊密配合的關(guān)系,以下從定義、通信方式、功能分工、協(xié)同作用幾個(gè)方面詳細(xì)闡述它們的關(guān)系: 定義與角色 上位機(jī) :通常指具有強(qiáng)大數(shù)據(jù)處理、顯示
    的頭像 發(fā)表于 05-29 18:03 ?1957次閱讀
    阜阳市| 庄河市| 永川市| 英超| 二连浩特市| 广东省| 衡山县| 玉环县| 张北县| 大荔县| 禹城市| 古交市| 桃园县| 夏津县| 遵义县| 大同县| 三门峡市| 南昌县| 且末县| 阳信县| 额敏县| 来宾市| 遵义市| 凯里市| 筠连县| 太保市| 寿光市| 修水县| 东宁县| 北安市| 芷江| 黎城县| 左贡县| 葵青区| 邛崃市| 峡江县| 萨嘎县| 鸡西市| 门源| 宜春市| 兴仁县|