区别是:TCP/IP协议是传输层协议,主要解决数据如何在网络中传输,而HTTP是应用层协议,主要解决如何包装数据。HTTP、FTP、SMTP 等协议主要是在应用层,他们需要有TCP和UDP在底下做支撑才能运行。就好比我们要上网就需要IP地址才行,需要IP地址就需要IP协议一样。
TCP/IP协议是传输层协议,主要解决数据如何在网络中传输,而HTTP是应用层协议,主要解决如何包装数据。关于TCP/IP和HTTP协议的关系,网络有一段比较容易理解的介绍:“我们在传输数据时,可以只使用(传输层)TCP/IP协议,但是那样的话,如果没有应用层,便无法识别数据内容,如果想要使传输的数据有意义,则必须使用到应用层协议,应用层协议有很多,比如HTTP、FTP、TELNET等,也可以自己定义应用层协议。WEB使用HTTP协议作应用层协议,以封装HTTP 文本信息,然后使用TCP/IP做传输层协议将它发到网络上。”
术语TCP/IP代表传输控制协议/网际协议,指的是一系列协议。“IP”代表网际协议,TCP和UDP使用该协议从一个网络传送数据包到另一个网络。把 IP想像成一种高速公路,它允许其它协议在上面行驶并找到到其它电脑的出口。 TCP和UDP是高速公路上的“卡车”,它们携带的货物就是像HTTP,文件传输协议FTP这样的协议等。
你应该能理解,TCP和UDP是FTP,HTTP和SMTP之类使用的传输层协议。虽然TCP和UDP都是用来传输其他协议的,它们却有一个显著的不同:TCP提供有保证的数据传输,而UDP不提供。这意味着TCP有一个特殊的机制来确保数据安全的不出错的从一个端点传到另一个端点,而UDP不提供任何这样的保证。
HTTP(超文本传输协议)是利用TCP在两台电脑(通常是Web服务器和客户端)之间传输信息的协议。客户端使用Web浏览器发起HTTP请求给Web服务器,Web服务器发送被请求的信息给客户端。
HTTP、FTP、SMTP 等协议主要是在应用层,他们需要有TCP和UDP在底下做支撑才能运行,就好比我们要上网就需要IP地址才行,需要IP地址就需要IP协议一样。http是应用在网页的应用,打开网页需要可靠传输,所以用的是TCP做底层。FTP是文本传输,传输文件也是需要可靠传输的所以用的是TCP做底层,SMTP是邮件也是类似,但是直播、视频、语音这类如果要可靠传输,那就好比打电话网络卡了一下,中间没听到,然后网络恢复了,对面接着说事情,然后之前中断时的声音又重新传过来了,就会出现声音重叠很奇怪。所有一般这种情况我们不会让中断时传输的数据重新传过来,打电话嘛,没听到,一会对方再重新说一下就好了,数据传输没有必要那么可靠;还有看直播的时候,网络卡了一下,卡了的画面也不会重新传过来给你看一样的道理。
延伸阅读:
什么是TCP?
传输控制协议(TCP,Transmission Control Protocol)是为了在不可靠的互联网络上提供可靠的端到端字节流而专门设计的一个传输协议。
互联网络与单个网络有很大的不同,因为互联网络的不同部分可能有截然不同的拓扑结构、带宽、延迟、数据包大小和其他参数。TCP的设计目标是能够动态地适应互联网络的这些特性,而且具备面对各种故障时的健壮性。
不同主机的应用层之间经常需要可靠的、像管道一样的连接,但是IP层不提供这样的流机制,而是提供不可靠的包交换。
应用层向TCP层发送用于网间传输的、用8位字节表示的数据流,然后TCP把数据流分区成适当长度的报文段(通常受该计算机连接的网络的数据链路层的最大传输单元(MTU)的限制)。之后TCP把结果包传给IP层,由它来通过网络将包传送给接收端实体的TCP层。TCP为了保证不发生丢包,就给每个包一个序号,同时序号也保证了传送到接收端实体的包的按序接收。然后接收端实体对已成功收到的包发回一个相应的确认(ACK);如果发送端实体在合理的往返时延(RTT)内未收到确认,那么对应的数据包就被假设为已丢失将会被进行重传。TCP用一个校验和函数来检验数据是否有错误;在发送和接收时都要计算校验和。
文章标题:TCP/UDP协议和HTTP、FTP、SMTP协议之间的区别,发布者:小编,转载请注明出处:https://worktile.com/kb/p/38200