接口结构内容

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
        }
    },
}
原文地址:https://www.cnblogs.com/ZhengYing0813/p/11812485.html