http协议的底层实现
1.http协议: 超文本传输协议,可以传递各种类型的文件,是使用最广泛的协议模式, 是Web联网的基础,也是手机联网常用的协议之一,HTTP协议是建立在TCP协议之上的一种应用
2.http协议的底层是在应用层里,是一个特殊处理的socket,建立在TCP/IP协议之上的一种广泛应用
什么是HTTP协议?
HTTP协议全称Hyper Text Transfer Protocol,翻译过来就是超文本传输协议,位于TCP/IP四层模型当中的应用层。
应用层:HTTP/FTP
传输层:TCP/UDP
网络层:IP/ARP
数据链路层
图文描述
HTTP协议全称Hyper Text Transfer Protocol,翻译过来就是超文本传输协议,位于TCP/IP四层模型当中的应用层。
2.1.服务器先初始化一个socket,与端口绑定,对端口进行监听,调用阻塞,等待客户端的连接
2.2.初始化客户端的socket,与服务器的socket连接,需要经过三次握手
第一次握手:客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;
第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;
第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手
2.5.客户端断开连接需要经过四次握手断开连接
第一次:客户端向服务器发送一个带有结束标记的报文
第二次:服务器接到报文后,向客户端发送一个确认号,同时通知自己相应的应用程序,对方要求断开连接
第三次:服务器向客户端发送结束标记的报文
第四次:客户端接收到报文后向服务器发送确认序号,断开连接