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

陳琦聊測試發表於2021-06-18

協議,是網路協議的簡稱,網路協議是通訊計算機雙方必須共同遵從的一組約定。如怎麼樣建立連線、怎麼樣互相識別等。只有遵守這個約定,計算機之間才能相互通訊交流。它的三要素是:語法、語義、時序。
(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下,使用i pconfig命令,可以檢視本機所分配的IP地址,Linux下請使用i fconfig代替。

此處顯示了兩個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(傳輸層)協議上實現


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69978795/viewspace-2777291/,如需轉載,請註明出處,否則將追究法律責任。

相關文章