一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第3天,点击查看活动详情。
一、服务器相关的基础概念
1、概念:服务器是提供服务的设备。
作用:在上网过程中,服务器专门负责存放资源和对外提供服务。
2、客户端
概念:在前端开发中,客户端特指“Web 浏览器”。
作用:将互联网世界中的 Web 资源加载、并呈现到浏览器窗口中供用户使用。
3、客户端与服务器通信的过程
客户端与服务器之间的通信过程,分为请求 - 响应两个步骤。其中:
请求的概念:客户端通过网络去找服务器要资源的过程,叫做“请求”
响应的概念:服务器把资源通过网络发送给客户端的过程,叫做“响应”
4、URL 地址 -- 全称 统一资源定位符
URL 地址用来表示服务器上每个资源的确切访问路径。
一个标准的 URL 地址主要由以下 4 个部分构成:
4.1、URL 地址 - 协议(protocol)- 网络通讯格式
概念:协议是网络协议的简称,用来保证通信的双方能读懂彼此发送过来的消息内容。
4.2、URL 地址 - 主机名(hostname)或IP地址 - 电脑在网络中的唯一标识
概念:主机名用来标识互联网中服务器的唯一性。
4.3、URL 地址 - 端口号(port) - 设备与外界通讯交流的出口
4.4、URL 地址 - 路径(path)
概念:路径用来表示资源在服务器上具体的存放位置。
二、什么是ajax
1、Ajax 是浏览器中的技术:用来实现客户端网页请求服务器的数据。
它的英文全称是 Asynchronous Javascript And XML,简称 Ajax。
2、使用 Ajax 请求数据的 5 种方式
客户端浏览器在请求服务器上的数据时,根据操作性质的不同,可以分为以下 5 种常见的操作:
3、POST 请求
POST 请求用于向服务器新增数据:
4、GET 请求
GET 请求用于从服务器获取数据:
5、DELETE 请求
DELETE 请求用于删除服务器上的数据:
6、PUT 请求
PUT 请求用于更新服务器上的数据(侧重于完整更新:例如更新用户的完整信息):
7、PATCH 请求
PATCH 请求用于更新服务器上的数据(侧重于部分更新:例如只更新用户的手机号):
axios:中文网址www.axios-js.com/
语法:
method: '请求的类型',
url: '请求的URL地址'
}).then((result) => {
// .then 用来指定请求成功之后的回调函数
// 形参中的 result 是请求成功之后的结果
})
7.1、基于 axios 发起 GET 请求
测试 GET 请求的 URL 地址为 www.liulongbin.top:3009/api/getbook…
GET 请求的查询参数,
可以通过 params 选项来指定查询的参数:
在 GET 请求中携带多个查询参数
7.2、URL 编码*
浏览器内置了 encodeURIComponent() 和 decodeURIComponent() 两个方法,用来实现 URL 的编码和解码处理:
三、接口的概念
使用 Ajax 请求数据时,被请求的 URL 地址,就叫做数据接口(简称:接口或 API 接口)。
同时,每个接口必须有对应的请求方式。例如:
www.liulongbin.top:3009/api/getbook… 获取图书列表的接口(GET 请求)
www.liulongbin.top:3009/api/addbook 添加图书的接口(POST 请求)
POST 提交数据的方式
通过 Chrome 浏览器的 Network 网络请求面板,可以发现 POST 请求提交的数据,并没有拼接到 URL 地址的末尾:
GET 和 POST 提交数据的区别
GET 请求只能在 URL 中携带少量的数据
POST 请求适合用来提交大量的数据
四、请求报文 & 响应报文
什么是请求报文和响应报文
客户端与服务器通信的过程是基于请求与响应的。其中:
请求报文规定了客户端以什么格式把数据发送给服务器
响应报文规定了服务器以什么格式把数据响应给客户端
1.1、请求报文 - 格式
请求报文由请求行(request line)、请求头部( header )、空行 和 请求体 4 个部分组成。图示如下:
注意:
在浏览器中,GET 请求比较特殊,它只有请求头,没有请求体。
在浏览器中,POST、PUT、PATCH、DELETE 请求既有请求头,又有请求体。
1.2、响应报文 - 格式
响应报文由状态行、响应头部、空行 和 响应体 4 个部分组成。图示如下:
http 响应状态码
概念:http 响应状态码(Status Code)由三位数字组成,用来标识响应成功与否的状态。
作用:客户端浏览器根据响应状态码,即可判断出这次 http 请求是成功还是失败了。
http 响应状态码 Vs 业务状态码
正确区分响应状态码和业务状态码的不同,是保证使用 Ajax 不迷茫的必要前提。从如下 3 个方面进行区分:
所处的位置
表示的结果
通用性
-
所处的位置不同:
在响应头的状态行中所包含的状态码,叫做“响应状态码”
在响应体的数据中所包含的状态码,叫做“业务状态码” -
表示的结果不同:
响应状态码只能表示这次请求的成功与否(成功地失败了)
业务状态码用来表示这次业务处理的成功与否 -
通用性不同:
响应状态码是由 http 协议规定的,具有通用性。每个不同的状态码都有其标准的含义,不能乱用。
业务状态码是后端程序员自定义的,不具有通用性。
接口文档的格式
接口测试工具
接口测试工具能让我们在不写任何代码的情况下,对接口进行调用和测试,从而检查接口能否被正常访问。
最流行的接口测试工具是 Postman,它的官方下载地址和 Logo 如下:www.postman.com/downloads/