TCP/IP、UDP、 Http、Socket的差别

网络由上往下分为:
表示层和应用层 :HTTP协议(基于传输层的TCP协议,主要解决怎样包装数据
会话层
传输层: TCP协议(基于网络层的IP协议)、TPC/IP协议(主要解决数据怎样在网络中传输)
网络层: IP 协议
数据链路层
物理层
4.socket则是对TCP/IP协议的封装和应用(程序猿层面上)。Socket本身并非协议。而是一个调用接口(API,它仅仅是提供了一个针对TCP或者UDP编程的接口)。通过Socket,我们才干使用TCP/IP协议,实际上,Socket跟TCP/IP协议没有必定的联系

Socket编程接口在设计的时候,就希望也能适应其它的网络协议。所以说。Socket的出现仅仅是使得程序猿更方便地使用TCP/IP协议栈而已,是对TCP/IP协议的抽象,从而形成了我们知道的一些最主要的函数接口,比方create、 listen、connect、accept、send、read和write等等。

6.关于TCP /IP和HTTP协议的关系,网络有一段比較easy理解的介绍:  
  “我们在数据传输时,能够仅仅使用(传输层)TCP/IP协议。可是那样的话,假设没有应用层。便无法识别数据内容。假设想要使传输的数据有意义。则必须使用到应用层协议,应用层协议有非常多,比方HTTP、FTP、TELNET等,也能够自定义应用层协议。WEB使用HTTP协议作应用层协议。以封装 HTTP 文本信息,然后使用TCP/IP做传输层协议将它发到网络上。”  

10.网络有一段关于socket和TCP/IP协议关系的说法比較easy理解:  
  “TCP/IP仅仅是一个协议栈,就像操作系统的执行机制一样,必需要详细实现。同一时候还要提供对外的操作接口。

这个就像操作系统会提供标准的编程接口,比方win32编程接口一样,TCP/IP也要提供可供程序猿做网络开发所用的接口,这就是Socket编程接口。”  


11.CSDN上有个比較形象的描写叙述:HTTP是轿车,提供了封装或者显示数据的详细形式;Socket是发动机,提供了网络通信的能力。 
 

posted @ 2017-06-19 19:43  yfceshi  阅读(172)  评论(0编辑  收藏  举报