課程大綱
一、定義
????????接口:外部與系統之間、內部各子系統之間的交互點。
????????比如日常使用的電腦,有電源接口、usb接口、耳機接口、顯示器接口等,分別可以實現:與外部的充電、文件數據傳輸、聲音輸入輸出、圖像輸入輸出等功能。
????????接口的本質:經過封裝的類;傳遞數據的通道。
????????接口測試的本質:模擬客戶端向服務器發送請求。
二、分類
1、按內外分
????????按照系統內外分為:外部接口、內部接口
????????內部接口可再分為:上層服務與下層服務接口、同級接口。
2、按協議分
常見的接口協議:
1.HTTP
????????超文本傳輸協議(HyperText Transfer Protocol)。
????????簡單的“請求-響應”協議,通常運行在TCP之上。
????????它指定了客戶端可能發送給服務器什么樣的消息以及得到什么樣的響應。請求和響應消息的頭以ASCII形式給出;消息內容具有類似MIME(通用互聯網郵件擴充協議)的格式。
????????是一種用于分布式、協作式和超媒體信息系統的應用層協議,是萬維網WWW(World Wide Web)的數據通信的基礎。
2.HTTPS
????????安全超文本傳輸協議(Hyper Text Transfer Protocol over Security Socket Layer)。
????????對HTTP協議的一種擴展,它在HTTP的基礎上加入了SSL/TLS協議進行數據加密和認證,使通過HTTPS傳輸的數據更加安全可靠。
3.FTP
????????文件傳輸協議(File Transfer Protocol)。
????????是 TCP/IP 協議組中的協議之一。
????????允許用戶以文件操作的方式(如文件的增、刪、改、查、傳送等)與另一主機相互通信。常用:Xshell的文件拖拽。
????????FTP協議包括兩個組成部分,其一為FTP服務器,其二為FTP客戶端。其中FTP服務器用來存儲文件,用戶可以使用FTP客戶端通過FTP協議訪問位于FTP服務器上的資源。在開發網站的時候,通常利用FTP協議把網頁或程序傳到Web服務器上。此外,由于FTP傳輸效率非常高,在網絡上傳輸大的文件時,一般也采用該協議。
????????默認情況下FTP協議使用TCP端口中的 20和21兩個端口:20用于傳輸數據,21用于傳輸控制信息。
????????但是,是否使用20作為傳輸數據的端口與FTP使用的傳輸模式有關:如果采用主動模式,那么數據傳輸端口就是20;如果采用被動模式,則具體最終使用哪個端口要服務器端和客戶端協商決定。
4.TCP
????????傳輸控制協議(Transmission Control Protocol)
????????一種面向連接的、可靠的、基于字節流的傳輸層通信協議。
????????是為了在不可靠的互聯網絡上提供可靠的端到端字節流而專門設計的一個傳輸協議。
????????“三次握手,四次揮手”:
(建立連接:三次握手)
(關閉連接:四次揮手)
5.IP?
????????網際互連協議(Internet Protocol)。
????????即互聯網協議,是TCP/IP體系中的網絡層協議。
????????設計目的是提高網絡的可擴展性:
????????1、解決互聯網問題,實現大規模、異構網絡的互聯互通;
????????2、分割頂層網絡應用和底層網絡技術之間的耦合關系,以利于兩者的獨立發展。
????????根據端到端的設計原則,IP只為主機提供一種無連接、不可靠的、盡力而為的數據包傳輸服務。
6.UDP?
????????用戶數據協議(Open Systems Interconnection)
????????使用IP作為底層協議,是為應用程序提供一種以最少的協議機制向其他程序發送消息的協議。
????????它與TCP協議一樣用于處理數據包,其主要特點是無連接,不保證可靠傳輸和面向報文。
參考文章:
1、《正確甄別API、REST API、RESTful API和Web Service之間的異同》
https://cloud.tencent.com/developer/article/1448167
2、《soap接口》
https://blog.51cto.com/topic/846a5d85bca5b40.html
3、《常見的接口協議》
https://www.jianshu.com/p/a7ae9d0d4c10