什麼是介面
一、什麼是介面
官方:介面是硬體或者軟體提供給外界的服務。
硬體介面:USB介面。
軟體介面:api(application program interface)
cookie:在伺服器產生,保存在客戶端
session:在伺服器產生,保存在伺服器,但是可以通過cookie傳輸到客戶端。sessionID
token:鑒權碼,也可以通過cookie傳輸。
二、為什麼需要介面
專業:因為項目內部的數據能夠被外部修改。
三、介面返回的數據格式
json是一種數據格式:整形,字元串
1.json格式
{「error_code」:”0″,”msg”:”提現成功”,”data”:”詳細的數據”}
error_code:錯誤碼,0成功,40001錯誤碼
msg:錯誤碼的中文說明
data:具體的數據
JSON由鍵值對{}和數組[]組成。
2.xml格式
<xml>
<error_code>0</error_code>
<msg>提現成功</msg>
<data>詳細的數據</data>
</xml>
3.html格式
<html>
<head>
<title></title>
</head>
<body>
數據
</body>
</html>
四、介面協議
http: 以http開頭。返回json格式
webservice:以http開頭,以?wsdl結束。(web service descrition,language),返回xml格式。
duboo協議:duboo:開頭,返回json格式
請問什麼是http協議?
又名:超文本傳輸協議,主要作用是:瀏覽器和伺服器之間交互數據。交互數據分為請求和響應兩個部分。
請求:請求行,請求頭,空一行,請求正文
響應:響應行,響應頭,空一行,響應正文
請求行:請求方式,請求地址url,協議
GET //localhost/phpwind/index.php?m=u&c=login HTTP/1.1
請求頭:
Host: localhost(主機)
Connection: keep-alive(連接狀態,保持活躍)
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36(客戶端的用戶)
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3(客戶端接收的數據類型)
Referer: //localhost/phpwind/(來源)
Accept-Encoding: gzip, deflate, br(客戶端接收的壓縮方式)
Accept-Language: zh-CN,zh;q=0.9(客戶端接收的語言)
Cookie: Pycharm-a7943e9=c6763d48-d1f4-4903-b72d-738219304462; csrf_token=00af6710d4cf234e; z92_visitor=J4FIxKqz%2BYgWDGcoJzFV70Y1b2ka02%2BjPcVw6nwmEVE%3D; z92_lastvisit=6998%091593863870%09%2Fphpwind%2F
(客戶端發送給伺服器的cookie)
空一行
請求正文
—————————————————————————————————————-
響應行:協議,狀態碼,狀態資訊
200成功
30X重定向
40X請求的資源找不到
50X伺服器錯誤
HTTP/1.1 200 OK
響應頭
Date: Sat, 04 Jul 2020 13:08:20 GMT(響應時間)
Server: Apache/2.4.23 (Win32) OpenSSL/1.0.2j PHP/5.4.45(伺服器)
X-Powered-By: PHP/5.4.45
Set-Cookie: z92_lastvisit=6998%091593868101%09%2Fphpwind%2Findex.php%3Fm%3Du%26c%3Dlogin; expires=Sun, 04-Jul-2021 13:08:21 GMT; path=/
Set-Cookie: z92_visitor=Ig2%2Bvhubk1sSLrLMujkCLPyXnWu%2FLhE41lYKXObcN8cC7bqaj1foBQ%3D%3D; path=/
Vary: Accept-Encoding(伺服器發送給客戶端的cookie)
Content-Length: 15322(響應的位元組數)
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: text/html;charset=utf-8(響應的數據的類型)
空一行
響應正文
<!doctype html>
<html>
<head>
<meta charset=”UTF-8″ />
<title>登錄 – phpwind 9.0 – Powered by phpwind</title>
<meta http-equiv=”X-UA-Compatible” content=”chrome=1″>