一、什么是接口

官方:接口是硬件或者软件提供给外界的服务。

硬件接口: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″>