1、通信:
通信的三要素 = 通信主体+通信内容+通信方式(响应)
2、通信协议:
(1)一般通信:通信双方要完成通信所要遵守的规则和约定(双方约定好的规则)
(2)互联网的通信:客户端与服务器之间实现网页内容(超文本)
传输,双方必须遵守网页内容传输协议,即http协议(超文本传输协议)
3、http协议
(1)交互模型:客户端http请求/服务器http响应
(2)请求消息:客户端发起的请求——http请求,发送到服务器的消息——http请求消息(请求报文)
(3)响应消息:服务端返回的响应——http响应,返回到浏览器的消息——http响应消息(响应报文)
4、http请求消息的组成:请求行+请求头+空行+请求体
(1)请求行:请求方式+URL+http协议版本(之间也使用空格隔开)
- 浏览器检查中的
Headers
中的Request Headers
中的第一行可以看到请求行的信息
(2)请求头:描述客户端基本信息,将客户端相关信息告知服务器(User-agent、Content- Type等),有多个键值对组成,键值之间使用冒号分隔
(3)常见请求头部字段
Host | 请求的服务器域名 |
---|---|
Connection | 客户端与服务器的连接方式(close|keepalive) |
Content-Length | 用来描述请求体的大小 |
Accept | 客户端可识别的响应内容类型列表 |
User-Agent | 产生请求的浏览器类型 |
Content-Type | 客户端告诉服务器实际发送的数据类型 |
Accept-Encoding | 客户端可接受的内容压缩编码形式 |
Accept-Language | 用户期望获得的自然语言优先顺序 |
(4)空行:请求头到此结束,分隔请求头和请求体
(5)请求体:要通过post方式提交到服务器的数据
只有post请求才有请求体,get请求没有请求体
5、http响应消息的组成:状态行+响应头部+空行+响应体
(1)状态行:协议/版本+响应状态
(2)响应头部:描述服务器的基本信息,有多行键值对组成,键值之间用冒号分隔
(3)常见响应头部字段
X-Powered-By: Express | 服务器用的什么样的软件 |
---|---|
Access- Control- Allow- Origin:* | 访问控制允许证书 |
Content- Type | 响应类型 |
Content- Length | 响应长度 |
Date | 响应时间 |
(4)空行:响应头到此结束,分隔响应头和响应体
(5)响应体:存放服务器响应给客户端的资源内容(可在Response中查看,Preview中是响应数据的格式化)
6、http的请求方法:表明要对服务器上的资源执行的操作
常用:get(查询)、post(新增)、put(修改)、delete(删除)
非常用:head、options、connect、trace、patch
7、http响应状态码:标识响应的状态
1** | 信息类,要求请求者继续执行操作 |
---|---|
2** | 成功,操作被成功接收并处理 |
3** | 重定向,需要进一步操作完成请求 |
4** | 客户端错误,语法错误或无法完成请求 |
5** | 服务器错误,处理请求的过程发生了错误 |
8、2**状态码
200 | OK | 请求成功,get或post |
---|---|---|
201 | Created | 已创建,通常用于post和put |
9、3**状态码
301 | 永久移动,返回包括新的URI,需要重新请求新的URI |
---|---|
302 | 临时移动,资源只是临时被移动,客户端继续使用原有的URI |
304 | 未修改,所请求的资源未修改,服务器返回此状态码时,不会反悔任何资源(响应消息中不包含响应体)。客户端通常会缓存访问过的资源 |
10、4**状态码
400 | 语义错误,请求参数有误 |
---|---|
401 | 当前请求需要用户验证 |
403 | 服务器理解请求,拒绝执行 |
404 | 无法找到资源 |
408 | 请求超时,服务器等待客户端发送的请求时间过长,超时 |
11、5**状态码
500 | 服务器端内部错误,无法完成请求 |
---|---|
501 | 服务器不支持该请求方法,无法完成请求 |
503 | 超载或系统维护,服务器暂时无法处理客户端的请求 |
网友评论