接口相關概念總結

測試眼中的接口

能夠獨立部署成服務的協議接口javascript

常見的接口協議

HTTP 超文本傳輸協議

HTTPS 安全超文本傳輸協議

FTP 文件傳輸協議

好比xshell中的上傳工具,採用的就是文件傳輸協議。html

TCP 網絡控制協議

IP互聯網協議

UDP 用戶數據協議

好比qq和微信等採用的就是用戶數據協議java

HTTP協議響應碼

每一種響應碼錶明瞭服務端給咱們反饋的響應狀態,也就表示咱們這次請求的結果。

1xx:信息響應類,表示接收到請求而且繼續處理,即請求的一箇中間狀態。

2xx:處理成功響應類,表示動做被成功接收、理解和接受。

3xx:重定向響應類,爲了完成指定的動做,必須接受進一步處理。

4xx:客戶端錯誤,客戶狀況包含語法錯誤或者是不能正確執行。

5xx:服務端錯誤,服務器不能正確執行一個正確的請求。

HTTP協議請求響應模型

graph TD A(API) -->B(DB數據庫) B --> A(API) A --> C(Client) C --> A(API)

http協議請求響應模式(一次請求的生命週期或簡單的軟件分層)具體過程以下:web

場景(登陸)
一、客戶端發起請求到api接口層
	1.1 用戶在客戶端填寫用戶名和密碼,點擊登陸,發送請求
二、api接收到客戶端發起的用戶請求
	2.1 api對業務邏輯進行驗證
    	2.1.1 驗證用戶名和密碼是否合法
        好比:用戶名要求必須爲真是手機號碼(11位,1開頭,第二位是三、四、五、六、七、八、9)
		若是驗證失敗,即用戶名不合法,那麼須要給客戶端返回響應碼
         好比自定義的響應碼:10000一、10000二、100003
		100001表明用戶名格式錯誤
         100002表明用戶名或密碼錯誤
         100003代碼密碼格式錯誤
三、api會將用戶輸入的數據發給db層
	Create、Read、Update、Delete
    (select * from user where userName = '' and password = '';)
	3.1 數據庫查詢成功則返回1,失敗則返回0
四、DB會將返回的查詢數據庫的條目數返回給api
五、api返回成功或失敗的狀態碼給客戶端
六、客戶端將返回信息提示給用戶

經常使用的HTTP請求方式shell

GET請求數據庫

http://127.0.0.1:8080?username=zhangsan&password=123456

POST請求api

url http://127.0.0.1:8080
請求體
{
			[
				"username":"zhangsan";
				"password":"123456"
			]
}

HTTP請求的方法:安全

HTTP/1.1協議中共定義了八種方法(有時也叫"動做"),來代表Request-URL指定的資源不一樣的操做方式。服務器

一、 OPTIONS
	返回服務器針對特定資源所支持的HTTP請求方法,也能夠利用向web服務器發送'*'的請求來測試服務器的功能性
二、 HEAD 
	向服務器索與GET請求相一致的響應,只不過響應體將不會被返回。這一方法能夠再沒必要傳輸整個響應內容的狀況下,就能夠獲取包含在響應小消息頭中的元信息。
三、GET
	向特定的資源發出請求。注意:GET方法不該當被用戶產生"反作用"的操做中。例如在Web Application中,其中一個緣由是GET可能會被網絡蜘蛛等隨意訪問。
四、POST
	向指定資源提交數據進行處理請求。(例如提交表單或者上傳文件)。數據被包含在請求體中。POST請求可能會致使新的資源的創建和/或已有資源的修改。
五、PUT
	向指定資源位置上傳其最新的內容。
六、DELETE
	請求服務器刪除Request-URL所標識的資源
七、TRACE
	回顯服務器搜狐到的請求,主要用於測試或診斷。
八、CONNECT
	HTTP/1.1協議中預留給可以將鏈接改成管道方式的代理服務器。
注意:
1)方法名稱是區分大小寫的
	當某個請求所針對的資源不支持對應的請求方法的時候,服務器應當返回狀態碼405(Mothod Not Allowed);
	當服務器不認識或者不支持對應的請求方法時,應返回的狀態碼501(Not Implemented)
2)HTTP服務器至少應該事先GET和HEAD/POST方法。

經常使用的TCP/IP協議能夠參考微信

OSI七層網絡模型與TCP/IP四層模型介紹

相關文章
相關標籤/搜索