TCP、UDP、HTTP、SOCKET之间的联系与区别

1.TCP/IP协议

tcp/ip 协议是一个协议组,可分为四层:数据链路层网络层传输层应用层

  • 网络层:有IP协议、ICMP协议、ARP协议、RARP协议和BOOTP协议。
  • 传输层:中有TCP协议与UDP协议。
  • 应用层:有FTP、HTTP、TELNET、SMTP、DNS等协议。

2.TCP与UDP

  • 把IP想像成一种高速公路,它允许其它协议在上面行驶并找到到其它电脑的出口。TCP和UDP是高速公路上的“卡车”,它们携带的货物就是像HTTP,文件传输协议FTP这样的协议等。
  • TCP和UDP使用IP协议从一个网络传送数据包到另一个网络。
  • TCP和UDP是FTP、HTTP和SMTP之类使用的传输层协议。虽然TCP和UDP都是用来传输其他协议的,它们却有一个显著的不同:TCP提供有保证的数据传输,而UDP不提供。这意味着TCP有一个特殊的机制来确保数据安全的不出错的从一个端点传到另一个端点,而UDP不提供任何这样的保证。

3.HTTP协议

  • HTTP(超文本传输协议)是利用TCP在两台电脑(通常是Web服务器和客户端)之间传输信息的协议。客户端使用Web浏览器发起HTTP请求给Web服务器,Web服务器发送被请求的信息给客户端。
  • 虽然HTTP本身是一个协议,但其最终还是基于TCP的。

4.SOCKET:TCP/IP网络的API。

  • Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。
  • 在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面,对用户来说,一组简单的接口就是全部,让Socket去组织数据,以符合指定的协议。
  • Socket 接口是TCP/IP网络的API,Socket接口定义了许多函数或例程,用以开发TCP/IP网络上的应用程序。

这是为了实现以上的通信过程而建立成来的通信管道,其真实的代表是客户端和服务器端的一个通信进程,双方进程通过socket进行通信,而通信的规则采用指定的协议。
socket只是一种连接模式,不是协议,tcp,udp,简单的说(虽然不准确)是两个最基本的协议,很多其它协议都是基于这两个协议如,http就是基于tcp的,用socket可以创建tcp连接,也可以创建udp连接,这意味着,用socket可以创建任何协议的连接,因为其它协议都是基于此的。

你可能感兴趣的:(TCP、UDP、HTTP、SOCKET之间的联系与区别)