1、TCP对应与传输层、而HTTP对应于应用层,所以HTTP协议是建立在TCP协议之上的;
2、HTTP底层是利用TCP协议传输的,所以支持http也就一定支持TCP;
3、TCP是网络传输协议, HTTP是超文本传输协议;
TCP是底层协议,定义的是数据传输和连接方式的规范。
HTTP是应用层协议,定义的是传输数据的内容的规范。
4、HTTP是无状态的短链接,而TCP是有状态的长连接;
长连接:客户端和服务端建立连接后不进行断开,之后客户端再次访问这个服务器上的内容时,继续使用这一条连接通道。
短连接:客户端和服务端建立连接,发送完数据后立马断开连接。下次要取数据,需要再次建立连接。
HTTP特点:
- 无状态:协议对客户端没有状态存储,对事物处理没有“记忆”能力,比如访问一个网站需要反复进行登录操作
- 无连接:HTTP/1.1之前,由于无状态特点,每次请求需要通过TCP三次握手四次挥手,和服务器重新建立连接。比如某个客户机在短时间多次请求同一个资源,服务器并不能区别是否已经响应过用户的请求,所以每次需要重新响应请求,需要耗费不必要的时间和流量。
- 基于请求和响应:基本的特性,由客户端发起请求,服务端响应
TCP对应于传输层,HTTP对应于应用层,从本质上来说,二者没有可比性。