HTTP协议与TCP、IP协议之间的关系

1、HTTP协议和TCP/IP的关系如下图所示

语言来描述下:
1 客户端发送一请求(http://hackr.jp/xss/)浏览器端先访问DNS(浏览器缓存、本地DNS、网络DNS)得到域名对应服务器端的IP地址
2 客户端得到了请求的IP地址便通过HTTP协议生成针对目标Web服务器的HTTP请求报文。然后通过TCP协议将HTTP请求报文分割成报文段(这么做的目的是为了可靠的通信)
3 IP协议将分割好的报文段 进行搜索对方的地址 一边中转 一边传送。
4 Web服务器端接收到了请求,先通过TCP协议将收到的报文段进行按原来顺序重组。然后HTTP协议对请求的内容进行处理(访问服务器的某些资源)
5 请求结果处理同样的经过TCP协议的报文分段和IP协议边寻址边中转传送给客服端。

来自图解HTTP

2、HTTP协议的长连接和短连接,实质上是TCP协议的长连接和短连接

HTTP属于应用层协议,在运输使用TCP协议,在网络层使用IP协议。IP协议只要解决网络路由和寻址问题,TCP协议主要解决如何在IP网络层之上可靠的传输数据包,使得网络上接收端可以接收到发送端发出的所有的包,并且顺序与发送顺序一致。
由HTTP与TCP的关系可以得出 首先 HTTP的数据包的运输是交由TCP协议的,那么短连接的产生实质上是TCP协议在client和server之间进行了三次握手 - 传输数据 - (一般client主动断开)四次挥手,长连接实质上是TCP协议在client和server之间进行三次握手 - 传输数据 - 传输数据 .....(两端均不主动关闭)

你可能感兴趣的:(HTTP协议与TCP、IP协议之间的关系)