01、什么是http
http :传输协议,前后端交互的协议。
file:// 本地协议。
前端以什么样的形式将数据发送给后端。
后端以什么样的形式将数据响应给前端。
02、常见的协议以及类型
(1)TCP协议类型:http
(2)UDP协议类型:
优点:传输效率高 可以1对多,多对1.
缺点:不保证顺序,不保证是否丢失数据。
eg:
老师是个超级有趣的小伙子
小伙子超级有趣的
03、传输的步骤
- 建立连接
- 发送请求
- 返回响应
- 断开连接
建立连接只能由浏览器端发起。
不管是请求还是响应,传输的数据都只能是字符串。一般用json字符串。
04、三次握手和四次挥手
(1)三次握手保证连接的正常建立: 二次握手不能保证浏览器端正常访问。四次握手有点多余。
——>
<——
——>
(2)四次挥手:
- 浏览器端向服务端发送一个消息:我要断开连接了
- 服务端向浏览器端发送一个消息:好的,我处理一下数据。
- 等服务端处理完数据,再发生一个消息:你可以断开连接了,我已经准备好了。
- 浏览器端向服务端发送一个消息:我真的断开连接了,别回了。
——>
<——
<——
——>
05、报文
在http中请求和响应的数据就叫做报文。请求的数据叫做请求报文,响应的数据叫做响应报文。
数据块:要传输的数据和一些附加消息,比如cookie,地址等等。
5.1 请求报文的组成
请求行、 请求头 、请求体
//请求行
GET / HTTP/1.1 //get 请求方式 http传输协议 1.1 传输协议的版本
//请求头
Host: localhost:3000 //请求主机
Connection: keep-alive //保持连接
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.93 Safari/537.36 //请求终端
Accept: text/html,application/xhtml+xml,application/xml; //可以接收的数据类型
Accept-Language: zh-CN,zh;q=0.9 //可以接收的数据类型的语言
//请求体
前端给后端的参数
5.2 响应报文的组成
状态行 响应头 响应体
//状态行
HTTP/1.1 200 OK //HTTP/1.1 传输协议以及版本 200状态码 ok对响应码的简单描述。
//响应体的数据格式
content-type: text/platin;charset=utf8 //text/platin 纯文本 charset 编码
Date: Wed, 02 Jun 2021 02:50:04 GMT //日期
//响应体
后端返回给前端的数据
5.3 常见的状态码
-
200 成功 //重点
-
302 临时重定向
重定向:类似于手机上的呼叫转移,本次请求访问这个地址会被引导到另外一个地址上。
- 301 永久重定向
只要访问这个地址,就一直引导到另外一个地址上。
-
304 缓存
-
404 访问地址不存在 //重点
-
403 权限不够
-
500 服务端错误 //重点