1、接口結構-包含了哪些內容
(1)Request Url 請求地址
- 協議(http/https)+域名/ip:port+API_url
-
HTTPS 和 HTTP 的區別主要如下:
1、https 協議需要到 ca 申請證書,一般免費證書較少,因而需要一定費用。
2、http 是超文本傳輸協議,信息是明文傳輸,https 則是具有安全性的 ssl 加密傳輸協議。
3、http 和 https 使用的是完全不同的連接方式,用的端口也不一樣,前者是 80,后者是 443。
4、http 的連接很簡單,是無狀態的;HTTPS 協議是由 SSL+HTTP 協議構建的可進行加密傳輸、身份認證的網絡協議,比 http 協議安全
(2)Request Method 請求方式(常見的)
- post 常用於類似提交操作接口
- 請求的數據一般不會顯示在地址欄里面,會把數據封裝在表單里面(入參放在 requests body 當中)再提交;
- 安全性比較高
- 請求的數據量比較大約 2M
- get 常用於向服務器獲取數據
- 請求的數據一般會顯示在地址欄
- 安全性差,請求的入參信息全部暴露在URL地址欄當中
- 請求的數據量比較小約 1024 字節
- put 常用於審核操作接口
- delete 常用於刪除類接口
(3)http 狀態碼
| 分類 | 分類描述 |
|---|---|
| 1** | 信息,服務器收到請求,需要請求者繼續執行操作 |
| 2** | 成功,操作被成功接收並處理 |
| 3** | 重定向,需要進一步的操作以完成請求 |
| 4** | 客戶端錯誤,請求包含語法錯誤或無法完成請求 |
| 5** | 服務器錯誤,服務器在處理請求的過程中發生了錯誤 |
200 ok
- 請求成功。一般用於GET與POST請求
202 Accepted
- 已接受。已經接受請求,但未處理完成
400 Bad Request
- 客戶端請求的語法錯誤,服務器無法理解
403 Forbidden
- 服務器理解請求客戶端的請求,但是拒絕執行此請求
404 Not Found
- 服務器無法根據客戶端的請求找到資源(網頁)。通過此代碼,網站設計人員可設置"您所請求的資源無法找到"的個性頁面
500 Internal Server Error
- 服務器內部錯誤,無法完成請求
502 Bad Gateway
- 作為網關或者代理工作的服務器嘗試執行請求時,從遠程服務器接收到了一個無效的響應
504 Gateway Time-out
- 充當網關或代理的服務器,未及時從遠端服務器獲取請求
(4)Request Headers 請求頭
post 表示請求的方法 HTTP/1.1 表示超文本傳輸協議 版本為1.1版本 URL統一資源定位符 Host: 域名 Host表示請求的服務器網址 Content-Length:用來說明傳輸的正文大小或者內容長度 Connection: Keep-Alive(Connection表示客戶端與服務連接類型,Keep-Alive表示持久連接) Accept: text,html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8(瀏覽器支持的 MIME 消息內容類型分別是 text,html、application/xhtml+xml、application/xml 和 */*,優先順序是它們從左到右的排列順序) origin 標識跨域資源請求(請求服務端設置Access-Control-Allow-Origin響應字段) X-Requested-With 標識Ajax請求,大部分js框架發送請求時都會設置它為XMLHttpRequest User-Agent 用戶代理的字符串值瀏覽器的身份標識字符串,user-agent會告訴網站服務器,訪問者是通過什么工具來請求的 Content-Type 設置請求體的MIME類型(適用POST和PUT請求)Content-Type: application/x-www-form-urlencoded Referer 設置前一個頁面的地址,並且前一個頁面中的連接指向當前請求 Accept-Encoding 設置接受的編碼格式 Accept-Encoding: gzip, deflate ccept-Language 設置接受的語言 Accept-Language: en-US 是英文 zh-cn為中文 Cookie 設置服務器使用Set-Cookie發送的http cookie Cookie: $Version=1; Skin=new;
(5)Request body 請求參數
{"phone":"177****8887",
"pwd":"BxEcAlBdMIHYrSpJVWQf5CQlmvDfd9YcxQ9DTb50JrKdaNEzM5avsgQIHjrwOKX3zMbWh1cNPwRdjya2k1sZQSFeqaLUppwsRSbu1ZcCdzoD2Ym4gcFdKt0UANSb0uNdQSQFyn3nmGzrU3JHcSvllm3kRGK3ZktAahMZ2hjXFjs=",
"validateCode":"hqk6",
"encryptStr":"cf5ff1698762d7bc70404ec0e3b6dc34"}
(6)Response 請求響應結果(報文)
{"msg":"成功",
"code":"0000"
"data":{
"JWT":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9#eyJhY2MiOiIxNzc3OTgyODg4NyIsImJpeiI6MiwidWlkIjoxMDIyOTksImV4cCI6MzYwMDAwMCwianRpIjoiZGZkZmFmN2MtODQ0ZS00OWQwLWM5NWUtNjc1OGE2NDA1YTViIiwiaWF0IjoxNTczMjAzNjYwNjUyfQ==#9WiC6aSAuFrZCVf4c+cdaBwTQs4=",
"user":{
"shareSign":"83807c1e2fcac33f6096dfdc7e8df2a5",
"utime":"2019-11-08 17:01:00",
"superUid":null,
"status":0,
"deviceType":null,
"lock":null,
"identityStatus":null,
"pwd":null,
"headImage":"",
"sex":2,
"uid":102299,
"inviteCount":null,
"phone":"177****8887",
"loginTime":1573203660652,
"salt":"rand_5b4c1fa009ff9",
"ctime":"2018-07-16 12:31:28",
"deviceId":null,
"nickName":"張三",
"authed":2,
"userIdentityVo":null
}
},
}
