接口
什麼是接口?
引用百度百科的解釋如下:
就我個人而言,接口一般分爲兩種:
-
程序內部的接口:
方法與方法、模塊與模塊之間的交互,程序內部拋出的接口,比如論壇上一個登錄發帖功能,發帖就必須要登錄,如果不登錄不能發帖,發帖和登錄這兩個模塊之間就要有交互,就會拋出一個接口,進行內部系統調用。
-
系統對外的接口:
從別人的網站或服務器上獲取資源或信息,對方不會提供數據庫共享,只能提供一個寫好的方法來獲取數據,比如購物網站和第三方支付之間,購物網站支付時可選擇第三方支付方法,但第三方不會提供自己的數據庫給購物網站,只會提供一個接口,供購物網站進行調用。
接口的類型
- http協議接口:常見的有get、post、patch、put、delete等請求方法。目前來講,最常用的接口
- web service接口:如soup(Simple Object Access Protocol 簡單對象訪問協議)、RPC(Remote Procedure Call 遠程過程調用)、RMI(Remote Method Invocation 遠程方法調用)等協議
我們接下來要學習的主要是基於http協議的接口。
HTTP協議接口
講http協議接口之前,先要了解下http協議。
-
http協議:建立在TCP協議基礎之上的,當瀏覽器需要從服務器獲取網頁數據的時候,會發出一次http請求。http會通過TCP建立起一個到服務器的連接通道,當本次請求需要的數據完畢後,http會立即將TCP連接斷開,這個過程是很短的。所以http連接是一種短連接,是一種無狀態的連接。
-
http請求:
客戶端發送一個HTTP請求到服務器的請求消息,它包括以下內容:
-
請求行:由請求方法字段、URL字段和HTTP協議版本字段組成
比如 GET /index.html HTTP/1.1
-
請求頭:由關鍵字/值對組成,每行一對,關鍵字和值用英文冒號“:”分隔。請求頭部通知服務器有關於客戶端請求的信息,典型的請求頭有:
User-Agent
:產生請求的瀏覽器類型。
Accept
:客戶端可識別的內容類型列表。
Host
:請求的主機名,允許多個域名同處一個IP地址,即虛擬主機。 -
空行:用來分割開請求頭和請求正文數據
-
請求正文:存放的是請求數據,一般常用於POST請求。Get請求中請求正文數據爲空,以爲GET請求會把請求數據拼接到URL地址欄中
-
-
http響應:
請求發出後收到的消息,也是由三個部分組成,分別是:狀態行、響應頭、響應正文
- 狀態行:由協議版本號、狀態碼、狀態碼文本描述組成。比如:HTTP/1.1 200 OK
- 響應頭:響應頭用於描述服務器的基本信息,以及數據的描述,服務器通過這些數據的描述信息,可以通知客戶端如何處理等一會兒它回送的數據
- 響應正文:響應的消息體,接受的是接口返回的數據。目前比較常用的是json格式的字符串。
聚合數據
想要學習接口測試,需要一些接口,我們可以從聚合數據(https://www.juhe.cn/)上找一些免費的接口來學習。
至於怎麼使用聚合數據,這裏就不作介紹了。
我這裏就找了個股票數據的接口(https://www.juhe.cn/docs/api/id/21)
股票接口裏有具體的API文檔、示例代碼等,可以學習一下。
ok,接口介紹內容就到這裏,下一節,我們講講解如何使用postman工具測試接口。