http 通信协议 TCP/IP协议 三次握手 四次挥手
1基于TCP/IP协议的三次握手
为了建立客户端和服务器端的连接,确保道路通畅
2.客户端主动发送请求
把你想和服务器端说的事情说出来(一次只能说一个)
客户端以请求报文的形式发送所用内容
2-1请求报文行
包含 1.传输协议版本 http/1.1 2.请求方式 get或者post 3.请求地址 /xxxx/yyyyy
2-2请求报文头(对本次请求的描述信息)
包含较多信息 客户端信息(userAgent) 客户端操作系统(platform)
客户端主机域名(host) 当你的cookie空间内含有信息,会自动携带cookie
客户端段请求体的数据格式 (content- type) .........
2-3请求报文空行
是一个空白行,区分请求头和请求体的空白行
2-4 请求报文体
前端传递给后端的真实数据
post会有
get一般没有,都连接在地址栏了
3.服务器端返回响应给客户端端
服务器端准备好给客户端端的信息
服务器端以响应报文的形式发送所有的内容
3-1. 响应状态行
=> 传输协议版本
=> 响应状态码 200
=> 简单描述 OK
3-2. 响应报文头(对本次响应的描述信息)
=> Server 服务器版本
=> Date 服务器时间
=> content-type 服务端响应体的数据格式
=> content-length 响应体长度
=> …
3-3. 响应报文体
=> 后端返回给前端的真实信息
4.基于TCP/IP协议的四次挥手
=>为了确保正确且安全的断开
三次握手干了什么事
1.客户端发送一个“包”给后端
2.服务器端拿到客户端的“包”后,返回一个“包+包”给客户端
这个阶段服务器端知道了
客户端可以正常发送,服务器端可以正常接收
3.客户端接收到后端的“包+包”后,返回一个“包+包+包”给到服务器端
这个时候客户端知道了:
自己能够正常发送,自己能够正常接收;
服务器端能够正常接收,服务器端能够正常发送;
服务器端知道了:
客户端能够正常接收,自己能够正常发送
四次挥手干了什么事
1客户端发送一个“包”给服务器端
=>告诉他:我接收到你的响应了,可以准备断开了
2服务器端接收到客户端的“包”,返回一个“包+包”给客户端
=>告诉客户端:我知道你接收到我的信息了,我准备断开了
3服务器端再次返回一个“包+包2”给客户端
=>告诉客户端:我已经准备好断开了,再接到消息时会直接断开
4客户端接受到所有“包”以后,返回一个最终包给服务器端
=>告诉服务器端:我已经断开连接了,别回了