目录
接口
一、URL
二、请求方法
三、请求报文(request message)
3.1请求行
3.2请求头
3.3 请求体
四、响应报文(response message)
4.1响应行
4.2响应头
4.3响应体
接口
接口就是API,是程序开发的函数和方法,提供参数和返回值;是由URL通过请求方法向服务器发送请求参数,得到响应值,本质就是数据的传输与接收;
一、URL
URL(Uniform Resource Locator, 统一资源定位符) 协议://IP地址或域名:端口号/路径?参数1=值1&参数2=值2 | |
协议 | http和https区别
|
IP地址 | 服务器地址 |
端口号 | 默认80 |
路径 | 资源路径 |
接口参数 |
二、请求方法
请求方法 | |
get获取数据 | get/post区别
get从服务端获取资源 post创建、更新资源提交给服务端
get通过url、requests headers,但不能通过request body传参 post通过url、request headers、request body传参(常见传参方式)
get有缓存 post无缓存 |
post提交数据 | |
put更新资源 | |
delete删除资源 |
三、请求报文(request message)
HTTP请求报文组成:请求行、请求头、空行、请求体;
3.1请求行
GET http://www.abc.com/articles HTTP/1.1
方法 URL 协议版本
3.2请求头
请求头由键值对组成,每⾏⼀对,键值之间⽤英⽂冒号
:
进行分隔;
Accept(传输文件类型)
*/* 代表浏览器可以处理所有类型
Accept- Encoding(文件编解码格式) Accept-Language 浏览器接受的语言 Connection(链接类型) keep-alive 当一个网页打开完成后,客户端和服务器之间用于传输HTTP数据的TCP连接不会关闭,客户端再次访问这个服务器上的网页,会继续使用这一条已经建立的连接
close 代表一个Request完成后,客户端和服务器之间用于传输HTTP数据的TCP连接会关闭, 客户端再次发送Request,需要重新建立TCP连接 Content-Type
application/json
JSON格式:{"key1":"value1","key2":"value2"}
application/x-www-form-urlencoded
HTML表单格式:key1=value1&key2=value2
text/xml:传输纯文本数据;
multipart/form-data:传输文件和二进制数据;
Host(主机和端口号)
Referer(页面跳转处) User-Agent(浏览器名称)
Cookie cookie与session的区别:
3.3 请求体
主要有两种格式 ,JSON格式和表单格式 ,它们的编码方式不同
四、响应报文(response message)
HTTP 响应报⽂的组成: 响应⾏、响应头、空⾏、响应体;
4.1响应行
HTTP/1.1 200 OK
协议版本 状态码 状态码原因短语
响应状态码汇总 2XX 200 OK 服务器已成功处理了请求 3XX
302 临时重定向;浏览器会自动向 location 返回的 url 发送请求,从而用户好像没有感觉到有这个重定向的存在,比如用户在未登录时访问个人中心页面,这时可以临时重定向到登录的url;
4XX 400 缺少必要参数:客户端未提供必要的参数,导致服务器无法处理请求
参数格式不正确
401 鉴权认证失败,可以在请求头中附加 Authorization 认证信息或者是从前一个页面的响应中提取 cookie/token 等相关内容,再附加到新的请求中去
403 Forbidden 检查URL是否正确;
检查当前角色是否有权限访问该资源;
404 链接地址URL拼写错误
405 客户端使用了服务端不允许的HTTP请求方法,比如服务端只支持post方法,客户端使用get方法请求,则应返回405;
415 请求的格式不受请求页面的支持,常见原因是请求数据的类型和服务端支持的类型不匹配,比如json接口,需要添加一个信息头Content-type:application/json;
5XX 503 Server Unavailable 服务器异常(超载或停机维护)
4.2响应头
由键值对组成,每⾏⼀对,键值之间⽤英⽂冒号
:
进行分隔
Access-Control-Allow-Methods
允许哪些方法来访问 Access-Control-Allow-Credentials 是否允许发送cookie Content-Type 数据类型 Date 时间 Server 服务器信息 Connection
4.3响应体
响应体是一个整体,一般都是一个json体;