一、定义
TCP:
传输控制协议,是一种面向连接的、可靠的传输层协议。TCP协议建立在不可靠的网络层 IP 协议之上,TCP的可靠性完全由自己实现。TCP采用的最基本的可靠性技术为以下两种
- 超时重传:在发送某一个数据以后就开启一个计时器,在一定时间内如果没有得到发送的数据报的ACK报文,那么就重新发送数据,直到发送成功为止。
- 流量控制:利用滑动窗口机制实施流量控制,只有在收到对前一个报文段的确认后才继续发送下一个报文段。
UDP:
UDP是一种无连接的、不可靠的传输层协议。提供了有限的差错检验功能,以最小的开销来达到网络环境中的进程通信目的
HTTP:
HTTP(超文本传输协议)是利用TCP在两台电脑之间传输信息的协议,。客户端使用Web浏览器发起HTTP请求给Web服务器,Web服务器发送被请求的信息给客户端。
HTTP是一个无状态的协议,由请求和响应构成,是一个标准的客户端服务器模型。
二、区别和联系
1)TCP和UDP是传输协议,HTTP是应用层协议。HTTP封装文本信息,然后使用TCP/IP做传输层协议将它发到网络上。
2)TCP(传输控制协议):面向连接、可靠的字节流服务。客户端和服务器必须先建立一个TCP连接,之后才能传输数据。TCP提供超时重发,丢弃重复数据,检验数据,流量控制等功能,保证数据可靠性。
3)UDP(用户数据报协议):简单的面向数据报的运输层协议。UDP不提供可靠性,只是把应用程序传给IP层的数据报发送出去,并不能保证对方收到。由于UDP在传输数据报前不用在客户和服务器之间建立一个连接,且没有超时重发等机制,所以传输速度很快。
4)TCP一般传输数据量大,UDP传输数据量小。
5) TCP用于在传输层有必要实现可靠传输的情况,UDP主要用于那些对高速传输和实时性有较高要求的通信或广播通信。