1. HTTP协议

HTTP协议: 对客户端和服务器端之间数据传输的格式规范。

HTTP协议约定的内容:

1
2
3
4
5
6
7
请求 / 响应报文格式 

请求方法 —— GET / POST

响应状态 —— 200 / 404 / 302 / 304

预设的请求头 / 响应头

HTTP协议是基于传输层的TCP协议,在每一次客户端和服务器通信之前都会去建立tcp连接(三次握手)

HTTP协议的特点:

  1. 无状态
  2. 简单快速
  3. 灵活

1.1 请求报文

请求报文:请求行 请求头 请求体

img

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请求稍差

img

2.1.2 请求头

img

1.1.2 请求体

注意:只有POST请求才有请求体

img

1.2 响应报文

响应报文: 响应行 响应头 响应体

img

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 响应头

img

2.2.3 响应体

响应体:是服务器发给客户端的真正数据

img

1.3 HTTPS

HTTP协议特点:明文传输,在客户端和服务器通信过程中,数据传输是明文。

HTTPS = HTTP + SSL/TLS(加密)

我们可以理解为HTTPS是安全版的HTTP

HTTP端口是80

HTTPS端口是443

2.4 fildder的使用

img