測試開發之網絡篇-常用服務協議

協議,是網絡協議的簡稱,網絡協議是通信計算機雙方必須共同遵從的一組約定。如怎麼樣建立連接、怎麼樣互相識別等。只有遵守這個約定,計算機之間才能相互通信交流。它的三要素是:語法、語義、時序。
(1)語法:即數據與控制信息的結構或格式;
(2)語義:即需要發出何種控制信息,完成何種動作以及做出何種響應;
(3)時序(同步),即事件實現順序的詳細說明。

TCP/IP

TCP/IP協議是當今互聯網所採用的協議。它不僅包含TCP、IP兩個部分,而是由FTP、SMTP、TCP、UDP、IP等協議構成的一個協議簇。TCP/IP協議的第4層-網絡層,負責創建主機間的網絡連接,以及完成基於IP的尋址和轉發功能。

DNS

DNS(Domain Name System,域名系統)是一項域名解析服務。它將域名解析成IP地址,以方便大家使用容易記憶的英文字母,來訪問互聯網。以下示例完成了一次解析,通過ping域名,我們可以得到其IP地址。

本地域名解析

除了藉助DNS,當我們通過域名訪問內部服務器時,可使用本地的HOSTS文件來完成域名解析,注意這個過程是優先於DNS的。
Windows下文件爲C:\WINDOWS\system32\drivers\etc\hosts,Linux下在/etc/hosts,以下給出一個示例。

DHCP

DHCP(Dynamic Host Configuration Protocol,動態主機配置協議)用於給局域網中的主機動態分配可用的IP地址。在Windows下,使用ipconfig命令,可以查看本機所分配的IP地址,Linux下請使用ifconfig代替。

此處顯示了兩個IP地址:

  • lo0 127.0.0.1 是用於本機內部通訊的環回地址。它是一個每臺機器都相同、永遠有效的虛擬機本地IP地址;
  • en0 192.168.0.100 是DHCP服務器爲第一塊以太網卡分配的動態IP地址。機器關機後,DHCP會爲該機器(網卡)保留此地址一段時間。

HTTP/HTTPS

HTTP(HyperText Transfer Protocol,超文本傳輸協議)是互聯網上使用最爲廣泛的一種協議。您正在使用瀏覽器閱讀的這篇文章,就是使用該協議傳輸的。HTTPS則是在其基礎上,實現了加密。
HTTP/HTTPS是一個無連接、無狀態的應用層協議。也就是說,瀏覽器通過它向服務器發出請求獲取響應後,連接就被關閉了。瀏覽器和服務器間,採用了一個叫做Session(會話)的機制,使得下一個請求過來時,服務器依然知道訪問者是誰。服務端識別Session的方法,通常是用請求URL或Header中攜帶的一個唯一標識(如jsessionid、bearer token、cookie)來起作用的。後續在介紹接口測試時,我們會進一步進行闡述。

WebSocket

WebSocket在客戶端和服務器之間建立持久性的連接,允許服務端主動向客戶端推送數據,以實現實時的雙向數據傳輸。它解決了以往使用HTTP協議時,只能單項拉數據,或使用HTTP模擬長連接時,Long Polling資源消耗過大的問題。
WebSocket是應用層協議,是TCP/IP協議的子集,它在連接時通過HTTP協議完成握手。

RPC

RPC(Remote Procedure Call Protocol,遠程過程調用協議)多用於當下流行的微服務架構中,方便一臺計算機直接調用另一臺上的程序,而不需要了解底層的網絡技術/協議。RPC可以基於HTTP(應用層)協議,也可以直接在TCP(傳輸層)協議上實現

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章