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 } }, }