HTTP、TCP、UDP、Socket分不清?小编来解说!
HTTP、TCP、UDP、Socket四个概念经常使人混淆,其实这几个概念不属于同一层次,从他的功能作用划分,也就比较容易区分开,首先是HTTP、TCP、UDP、Socket的概念,本质上没有可比性,从HTTP、TCP、UDP的关系看,HTTP是应用层协议,主要解决如何包装数据,而TCP、UDP属于传输层协议,主要解决数据如何在网络中传输,TCP和UDP使用IP协议从一个网络传送数据包到另一个网络。简单来说,把IP协议比喻成“高速公路”,它允许其它协议在上面行驶并找到其它电脑的出口,而TCP和UDP是高速公路上的“卡车”,它们携带的货物就是像HTTP,文件传输协议FTP这样的协议等。
Socket是什么呢?他是对TCP/IP协议的封装和应用(程序员层面上)。Socket通常也称作“套接字”,用于描述IP地址和端口,是一个通信链的句柄。
Socket本身并不是协议,而是一个调用接口(API),Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面,对用户来说,一组简单的接口就是全部,让Scoket去组织数据,以符合指定的协议。
HTTP协议即超文本传输协议(Hypertext Transfer Protocol ),是Web联网的基础,也是手机联网常用的协议之一,HTTP协议是建立在TCP协议之上的一种应用。
结论:HTTP是应用层协议,其传输都是被包装成TCP协议传输。可以用SOCKET实现HTTP。SOCKET是实现传输层协议的一种编程API,可以是TCP,也可以是UDP。
上一篇:国内大企业文件传输平台对比