1.客户端与服务器
1.1客户端和服务器
- 客户端:在前端开发中,客户端特指“Web浏览器”。只要可以访问服务器的一段都属于客户端
- 服务器:服务器是提供服务的设备。在上网过程中,服务器专门负责存放资源和对外提供服务
- 客户端与服务器之前的通信过程是基于请求和响应的
1.2URL
- URL地址的主要组成部分:协议、主机名、端口号、路径
- 协议:协议是用来规范网络通讯中数据的格式。常见: http 和 https
- 域名:电脑主机网络中存放的位置,主机地址的唯一标识。域名就是 给 IP 地址起个名字,方便记忆
- 端口:电脑与外界通讯交流的出口,为数字类型,取值范围 0~65535 之间。其中80为http专用
- 资源存放路径:资源存放路径就是资源在服务器中的具体存放地址
2.axios的使用
2.1Ajax相关
- 概念:用来实现客户端网页请求服务器的数据。全称是 Asynchronous Javascript And XML,简称 Ajax
- 五种请求方式:
2.2axios语法
- 基础语法:
axios({
method:'请求的类型',
url:'请求的url地址'
}).then((result) => {
请求成功之后的回调函数
})
- GET请求,get传递参数—URL参数,语法:
axios({
method:'get',//GET也可以
url:'http://www.liulongbin.top:3009/api/getbooks',
params:{}
}).then(({data:res}) => {
console.log(res)
})
- URL参数本质上就是把所有属性用=连接&分割,放到路径最末尾用?连接
- POST请求,post使用data属性传递参数,语法:
axios({
method:'post',//POST也可以
url:'http://www.liulongbin.top:3009/api/addbook',
data:{
bookname:'',
author:'',
publisher:''
}
}).then(({data:res}) => {
console.log(res)
})
2.3URL编码
- 在URL地址中不允许出现中文、空格等特殊字符,因此浏览器会自动对URL地址内的中文进行转换处理,有时需要我们手动编码
- 编码:encodeURLComponet()
- 解码:decodeURLComponet()
2.4Ajax的解构赋值
- axios收到的数据,是经过axios封装之后的,所以res是一个对象,最重要的数据为 data 属性,其他属性很少使用,所以可以通过对象解构的方式把最常用的属性解构出来,其他的暂时可以不用理会
3.请求报文和响应报文
-
请求报文规定了客户端以什么格式把数据发送给服务器
-
响应报文规定了服务器以什么格式把数据响应给客户端
-
注意: http响应状态码和业务状态码是不同的
- 所处的位置不同:在响应头的状态行中所包含的状态码,叫做“响应状态码”在响应体的数据中所包含的状态码,叫做“业务状态码”
- 表示的结果不同:响应状态码只能表示这次请求的成功与否(成功地失败了)业务状态码用来表示这次业务处理的成功与否
- 通用性不同:响应状态码是由 http 协议规定的,具有通用性。每个不同的状态码都有其标准的含义,不能乱用。业务状态码是后端程序员自定义的,不具有通用性
4.接口文档
- 接口的概念:使用 Ajax 请求数据时,被请求的 URL 地址,就叫做数据接口(简称:接口或 API 接口)
- 接口文档的格式:接口文档的格式有很多,txt,word,excel,md等… 现在最常用的是** html 格式文档**
4.1其他工具
- POSTMAN:接口测试工具能让我们在不写任何代码的情况下,对接口进行调用和测试,从而检查接口能否被正常访问