最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

技術(shù)分享 | 常見接口協(xié)議解析

2022-10-09 10:02 作者:愛測軟件測試  | 我要投稿
本文節(jié)選自霍格沃茲測試開發(fā)學社內(nèi)部教材

服務(wù)與服務(wù)之間傳遞數(shù)據(jù)包,往往會因為不同的應(yīng)用場景,使用不同的通訊協(xié)議進行傳遞。比如網(wǎng)站的訪問,常常會使用 HTTP 協(xié)議進行傳遞,文件傳輸使用 FTP,郵件傳遞使用 SMTP。上述的三種類型的協(xié)議都處于網(wǎng)絡(luò)模型中的應(yīng)用層。除了應(yīng)用層的常用協(xié)議之外,對于傳輸層的 TCP、UDP 協(xié)議,以及 Restful 架構(gòu)風格、RPC 協(xié)議等等基礎(chǔ)網(wǎng)絡(luò)知識要有一定的了解和認知。

網(wǎng)絡(luò)協(xié)議介紹

在了解具體的協(xié)議之前,需要先了解 OSI 七層模型、TCP/IP 四層模型、五層體系結(jié)構(gòu)這三種不同的網(wǎng)絡(luò)模型。

網(wǎng)絡(luò)協(xié)議模型對比圖:

  • OSI 參考模型是一個在制定協(xié)調(diào)進程間通信標準時所使用的概念性框架,它并不是一個標準。

  • TCP/IP 四層模型是網(wǎng)際網(wǎng)絡(luò)的基礎(chǔ)通信架構(gòu)。常視為是簡化的七層 OSI 模型。

  • 五層協(xié)議是 OSI 和 TCP/IP 的綜合,實際應(yīng)用還是 TCP/IP 的四層結(jié)構(gòu)。

  • TCP/IP 協(xié)議棧是對應(yīng) TCP/IP 四層模型所使用的具體的網(wǎng)絡(luò)協(xié)議。

TCP協(xié)議

TCP 協(xié)議是在傳輸層中,一種面向連接的、可靠的、基于字節(jié)流的傳輸層通信協(xié)議。TCP 協(xié)議的工作方式為在建立連接的時候需要進行“三次握手”,終止連接時需要進行“四次揮手”。“三次握手”和“四次揮手”是 TCP 協(xié)議的重要知識點,在后面的章節(jié)會通過實戰(zhàn)和理論結(jié)合具體介紹。

適用場景

TCP 協(xié)議的面向連接、錯誤重傳、擁塞控制等特性,適用于可靠性高的場景,比如涉及用戶信息的數(shù)據(jù)傳輸。

UDP協(xié)議

UDP 協(xié)議一旦把應(yīng)用程序發(fā)給網(wǎng)絡(luò)層的數(shù)據(jù)發(fā)送出去,就不保留數(shù)據(jù)備份。它僅在 IP 數(shù)據(jù)包的頭部加入復用和數(shù)據(jù)校驗字段。所以 UDP 常常被認為是不可靠的數(shù)據(jù)包協(xié)議。

適用場景

UDP 協(xié)議的不需要提前建立連接、實現(xiàn)簡單的特性,非常適用于實時性高的場景,比如流媒體、在線游戲等。

HTTP協(xié)議

HTTP 協(xié)議是接口測試中最常見的協(xié)議,是用于分布式、協(xié)作式和超媒體信息系統(tǒng)的應(yīng)用層協(xié)議。HTTP 是萬維網(wǎng)的數(shù)據(jù)通信的基礎(chǔ)??蛻舳讼蚍?wù)端發(fā)送 HTTP 請求,服務(wù)端則會在響應(yīng)中返回所請求的數(shù)據(jù)。在測試過程中,常常需要校驗請求和響應(yīng)結(jié)果,所以了解 HTTP 協(xié)議,對于接口測試來說,是重中之重。

在后面章節(jié)將會具體介紹 HTTP、HTTPS 協(xié)議的區(qū)別,以及 HTTP 協(xié)議的基礎(chǔ)知識信息。

RESTful協(xié)議

起源

Roy Thomas Fielding 博士于 2000 年在他的博士論文中提出來的一種萬維網(wǎng)軟件架構(gòu)風格。其目的是為了便于不同的軟件在網(wǎng)絡(luò)中傳遞信息。RESTful 是基于 HTTP 協(xié)議之上制定的一種資源請求、操作的風格,用一句話來概括就是使用 URL 去定位資源,使用 HTTP 動詞描述操作。

HTTP 請求方法在 RESTful api 中的典型應(yīng)用:

方法意義GET獲取資源POST新增或者更新PUT更新資源DELETE刪除資源

注意:?不同公司在使用 RESTful 架構(gòu)風格的時候存在部分差別。

RPC協(xié)議

RPC 的英文為 Remote Procedure Call ,它很好的詮釋了 RPC 協(xié)議的概念,即為以本地代碼調(diào)用的方式實現(xiàn)遠程執(zhí)行,RPC 主要用于公司內(nèi)部的服務(wù)調(diào)用。RPC 接口的優(yōu)點在于傳輸效率更高、性能損耗更低、自帶負載均衡策略、更好的服務(wù)治理能力。

常見的 RPC 協(xié)議

目前在行業(yè)內(nèi)常用的 RPC 協(xié)議主要如下:

  • Dubbo:Java 基礎(chǔ)之上的高性能 RPC 協(xié)議。

  • gRPC:高性能通用 RPC 框架,基于 Protocol Buffers。PB 是一個語言中立、平臺中立的數(shù)據(jù)序列化框架。

  • Thrift:與 gRPC 類似的多語言 RPC 框架。


技術(shù)分享 | 常見接口協(xié)議解析的評論 (共 條)

分享到微博請遵守國家法律
澄城县| 马边| 卢氏县| 肃宁县| 瑞昌市| 永城市| 三门峡市| 于都县| 东至县| 无锡市| 霍邱县| 额尔古纳市| 丰镇市| 隆尧县| 文山县| 沂南县| 正定县| 于田县| 江门市| 巴东县| 九台市| 临夏市| 利津县| 青神县| 友谊县| 青铜峡市| 邵阳市| 神池县| 靖远县| 新泰市| 精河县| 东乡县| 洛隆县| 佳木斯市| 称多县| 龙泉市| 麻江县| 延庆县| 阜南县| 花垣县| 泾源县|