1. HTTP协议
HTTP协议: 对客户端和服务器端之间数据传输的格式规范。
HTTP协议约定的内容:
1 2 3 4 5 6 7
| 请求 / 响应报文格式
请求方法 —— GET / POST
响应状态 —— 200 / 404 / 302 / 304
预设的请求头 / 响应头
|
HTTP协议是基于传输层的TCP协议,在每一次客户端和服务器通信之前都会去建立tcp连接(三次握手)
HTTP协议的特点:
- 无状态
- 简单快速
- 灵活
1.1 请求报文
请求报文:请求行 请求头 请求体
1.1.1 请求行
请求行 = 请求方式 + 请求路径 + HTTP协议
请求方式 : get(获取资源) post(提交资源) put(更新资源) delete(删除资源)
GET和POST区别:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| 1.GET请求是无害的(当访问同一个url的时候,所获取到的资源是同一个)
多次调用POST请求会不断向服务器去提交新资源
2.GET请求可以被浏览器缓存,POST请求不会被缓存
3.GET请求的编码类型 application/x-www-form-urlencoded
POST请求的编码类型 application/x-www-form-urlencoded mulipart/form-data
4.GET请求会将请求参数放到url后面发到服务器,请求参数可见
POST请求会将请求参数放到请求体里面发到服务器,请求参数在请求体里面
5.GET请求的url长度有限制,最大不超过2048个字符。POST请求无长度限制
6.GET请求只允许出现ASCII的字符,POST没有限制
7.GET请求的安全性相对于POST请求稍差
|
2.1.2 请求头
1.1.2 请求体
注意:只有POST请求才有请求体
1.2 响应报文
响应报文: 响应行 响应头 响应体
1.2.1 响应行
响应行 = http协议 + 响应的状态码 + 响应状态码的描述
响应状态码:
1 2 3 4 5 6 7 8 9
| 1xx:指示信息 —— 表示请求已接收,继续处理。
2xx:成功 —— 表示请求已被成功接收、理解、接受。
3xx:重定向 —— 要完成请求必须进行更进一步的操作。
4xx:客户端错误 —— 请求有语法错误或请求无法实现。
5xx:服务器端错误 —— 服务器未能实现合法的请求
|
1 2 3 4 5 6 7 8 9 10 11 12 13
| 200 OK:客户端请求成功。 /*客户端错误*/
400 Bad Request:客户端请求有语法错误,不能被服务器所理解。
401 Unauthorized:请求未经授权,这个状态代码必须和 WWW-Authenticate 报头域一起使用。
403 Forbidden:服务器收到请求,但是拒绝提供服务。
404 Not Found:请求资源不存在,举个例子:输入了错误的URL。 /*服务器错误*/
500 Internal Server Error:服务器发生不可预期的错误。
503 Server Unavailable:服务器当前不能处理客户端的请求,一段时间后可能恢复正常。
|
1.2.2 响应头
2.2.3 响应体
响应体:是服务器发给客户端的真正数据
1.3 HTTPS
HTTP协议特点:明文传输,在客户端和服务器通信过程中,数据传输是明文。
HTTPS = HTTP + SSL/TLS(加密)
我们可以理解为HTTPS是安全版的HTTP
HTTP端口是80
HTTPS端口是443
2.4 fildder的使用
感谢鼓励