在解释HTTP、TCP和UDP之前的区别之前,先为大家介绍一下三者的含义。
TCP:传输控制协议(TCP,Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC 793 [1] 定义。
TCP旨在适应支持多网络应用的分层协议层次结构。 连接到不同但互连的计算机通信网络的主计算机中的成对进程之间依靠TCP提供可靠的通信服务。TCP假设它可以从较低级别的协议获得简单的,可能不可靠的数据报服务。 原则上,TCP应该能够在从硬线连接到分组交换或电路交换网络的各种通信系统之上操作。
UDP:Internet 协议集支持一个无连接的传输协议,该协议称为用户数据报协议(UDP,User Datagram Protocol)。UDP 为应用程序提供了一种无需建立连接就可以发送封装的 IP 数据包的方法。RFC 768 [1] 描述了 UDP。
Internet 的传输层有两个主要协议,互为补充。无连接的是 UDP,它除了给应用程序发送数据包功能并允许它们在所需的层次上架构自己的协议之外,几乎没有做什么特别的事情。面向连接的是 TCP,该协议几乎做了所有的事情。
HTTPS:超文本传输协议(Hypertext Transfer Protocol,HTTP)是一个简单的请求-响应协议,它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。请求和响应消息的头以ASCII形式给出;而消息内容则具有一个类似MIME的格式。这个简单模型是早期Web成功的有功之臣,因为它使开发和部署非常地直截了当。
看到这里如果你还不是很理解三者的意思,你可以简单的记住:TCP是一种传输可靠连接的协议;UDP是一种传输不可靠的连接;HTTP是基于TCP的一种超文本连接;下面我会详细的给大家介绍。
TCP连接
为了能实现计算机在因特网之间的数据传输,就需要使用TCP/IP的概念.TCP/IP不是一种协议,而是一个协议族的统称,其中包括IP协议、IMCP协议、TCP协议,以及我们常见的http、ftp协议等。计算机定义了协议,就像两个不同国籍的人之间约定使用国际通用语言交流一样,双方都能准确的理解对方所表达的意思。
上面也介绍了TCP是一种可靠的数据传输连接,那么究竟可靠在哪里呢?首先我们看一下TCP与其他协议的网络结构图。
-
应用层:应用程序间沟通层,如简单电子邮件传输(SMPT)、文件传输协议(FTP)、网络远程访问协议(Telnet)等。
-
传输层:在此层中,他提供了节点间的数据传输,应用程序之间的通信服务,主要功能是数据格式化、数据确认和丢失重传等。如传输控制协议(TCP)、用户数据报协议(UDP)等,TCP和UDP给