一、什么是接口
官方:接口是硬件或者软件提供给外界的服务。
硬件接口: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 http://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: http://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″>