HTTP协议特点
- 简单
只需要URL和方法即可
- 灵活
1、允许传送任意类型的文件类型。只需要使用content-type标示就行
2、每次链接传送完成后即断开
- 无状态
对处理的事务无记忆能力
HTTP工作原理
1、HTTP协议在TCP/IP协议簇中的位置:
2、HTTP工作原理:
- 根据
TCP
协议,客户端、服务端先进行三次握手(请求协议都是TCP
) - 连通后,根据
HTTP
协议,客户端向服务端发起请求(此时请求协议为HTTP
) - 服务端接收请求,处理后返回给客户端(此时请求协议为
HTTP
) - 断开链接
注意:最少有5次链接的产生(3次TCP握手+HTTP请求+HTTP返回)
3、HTTP请求组成:
-
请求行:
请求方法 + 请求路径 +
HTTP
协议版本注意:
1、【请求路径】只有服务器根目录下的路径,不包含域名。如:/admin/login;
2、【请求路径】也可以包含路径参数,如:/admin/login?user=111&pwd=222 -
请求头:
参数名 :值
注意:请求头都是【键值对】,域名、cookie等都在请求头中
-
请求体(正文):
传给服务器的数据,一般为json格式
-
空行:
只是用作隔绝请求头和请求正文的间隔作用,方便程序找到正文。独特标识为:
4、HTTP响应组成
-
响应行:
HTTP
协议版本 + 状态码 -
响应头:
参数名 :值
注意:响应头都是【键值对】
-
响应体(正文):
返回处理后的数据,一般为json格式
注意:
【Connection: keep-alive】意思是“长连接”。
1、HTTP/1.1
协议默认打开长连接。2、一个html页面会有多个HTTP请求资源,但是都依靠一个TCP连接就够了的意思。