最近開(kāi)始學(xué)習(xí)Python自動(dòng)化測(cè)試,第一個(gè)就是接口測(cè)試,每天測(cè)試中都接觸接口,但是接口具體有哪些呢?我從網(wǎng)絡(luò)上搜羅了些資料,幫助以后查閱學(xué)習(xí)。
?http接口:基于HTTP協(xié)議的開(kāi)發(fā)接口.這個(gè)并不能排除沒(méi)有使用其他的協(xié)議。
????????api接口:API(Application Programming Interface)應(yīng)用程序編程接口,應(yīng)用也包括網(wǎng)絡(luò)應(yīng)用程序,就像api文檔基本上就是使用說(shuō)明書(shū),API接口可以簡(jiǎn)單理解成“應(yīng)用程序使用接口”。
?????????RPC接口:Remote Procedure Calls 遠(yuǎn)程過(guò)程調(diào)用 (RPC) 是一種協(xié)議,程序可使用這種協(xié)議向網(wǎng)絡(luò)中的另一臺(tái)計(jì)算機(jī)上的程序請(qǐng)求服務(wù)。由于使用 RPC 的程序不必了解支持通信的網(wǎng)絡(luò)協(xié)議的情況,因此 RPC 提高了程序的互操作性。在 RPC 中,發(fā)出請(qǐng)求的程序是客戶程序,而提供服務(wù)的程序是服務(wù)器。 RPC(遠(yuǎn)程過(guò)程調(diào)用)是一項(xiàng)廣泛用于支持分布式應(yīng)用程序(不同組件分布在不同計(jì)算機(jī)上的應(yīng)用程序)的技術(shù)。RPC 的主要目的是為組件提供一種相互通信的方式,使這些組件之間能夠相互發(fā)出請(qǐng)求并傳遞這些請(qǐng)求的結(jié)果。 沒(méi)有語(yǔ)言限制。
????????RMI:RMI(Remote Method Invocation,遠(yuǎn)程方法調(diào)用)RMI是針對(duì)于java語(yǔ)言的, RMI 允許您使用Java編寫(xiě)分布式對(duì)象
????????Webservice接口:Webservice是系統(tǒng)對(duì)外的接口,比如你要從別的網(wǎng)站或服務(wù)器上獲取資源或信息,別人肯定不會(huì)把數(shù)據(jù)庫(kù)共享給你,他只能給你提供一個(gè)他們寫(xiě)好的方法來(lái)獲取數(shù)據(jù),你引用他提供的接口就能使用他寫(xiě)好的方法,從而達(dá)到數(shù)據(jù)共享的目的。
????????RESTful :?簡(jiǎn)稱 REST,是描述了一個(gè)架構(gòu)樣式的網(wǎng)絡(luò)系統(tǒng),其核心是面向資源,REST專門(mén)針對(duì)網(wǎng)絡(luò)應(yīng)用設(shè)計(jì)和開(kāi)發(fā)方式,以降低開(kāi)發(fā)的復(fù)雜性,提高系統(tǒng)的可伸縮性。REST提出設(shè)計(jì)概念和準(zhǔn)則為:
? ? ? 1.網(wǎng)絡(luò)上的所有事物都可以被抽象為資源(resource)
? ? ? 2.每一個(gè)資源都有唯一的資源標(biāo)識(shí)(resource identifier),對(duì)資源的操作不會(huì)改變這些標(biāo)識(shí)
? ? ? 3.所有的操作都是無(wú)狀態(tài)的
關(guān)于RPC和RMI的區(qū)別,各類博客有很多,我就不說(shuō)了。Webservice和RESTful ,我不知道你說(shuō)的是那個(gè)(Webservice這個(gè)是個(gè)大類,包括RESTful )你可以看看?SOAP?Webservice和RESTful?Webservice 的區(qū)別。不要刻意去混淆找區(qū)別,有些是從不同角度、層次而言。也有可能同一個(gè)東西兼顧(不同層次、角度的兼顧)。在如今這個(gè)軟件泛濫的年代,不同的人叫法不同很多,偷換概念的也有很多。http和webservice接口區(qū)別
http和webservice接口區(qū)別
httpservice通過(guò)post和get得到你想要的東西
webservice就是使用soap協(xié)議得到你想要的東西,相比httpservice能處理些更加復(fù)雜的數(shù)據(jù)類型?
http協(xié)議傳輸?shù)亩际亲址耍瑆ebservice則是包裝成了更復(fù)雜的對(duì)象。
hessian類似于webservice,但是它采用的是二進(jìn)制RPC協(xié)議(Binary),具有輕量、傳輸量小、平臺(tái)無(wú)關(guān)的特點(diǎn),特別適合于目前網(wǎng)絡(luò)帶寬比較小的手機(jī)網(wǎng)絡(luò)應(yīng)用項(xiàng)目。
以hessan的java實(shí)現(xiàn)為例,它可以傳輸Map、List、以及自定義的各種數(shù)據(jù)接口;比http的純字符串也方便的多,省卻了解析http返回值的步驟。