谈谈HTTP 和 TCP 的区别和联系
-
首先,看下OSI的七层网络模型,
TCP处在传输控制层,是底层通讯协议,主要解决数据如何在网络中传输。
HTTP处在应用层,是应用层协议,主要解决如何包装数据。HTTP协议中的数据是利用TCP协议传输的,所以支持HTTP也就一定支持TCP。 -
TCP是有状态的可靠的连接,会经历三次握手,四次挥手。如果不主动断开连接,那么连接一直存在。
HTTP连接是一种短连接,是一种无状态的连接。当本次请求需要的数据完毕后,HTTP会立即将TCP连接断开。所谓的无状态,是指浏览器每次向服务器发起请求的时候,不是通过一个连接,而是每次都建立一个新的连接。