TCP UDP socket http webSocket 之间的关系

OSI&TCP/IP模型

要弄清tcp udp socket http websocket之间的关系,首先要知道经典的OSI七层模型,与之对应的是TCP/IP的四层模型。
看图说话:
clipboard.png程序员

从图中能够看出,tcp udp工做在传输层,http websocket工做在应用层,而socket不属于七层模型中的任一层,能够理解为socket工做在传输层与应用层中间的隐含层中。web

几者之间的关系

socket自己不是一种协议,而是对传输层中的TCP/UDP协议进行了封装,对用户隐藏了内部TCP/UDP是如何传输的,只提供一套接口(API)给程序员调用,从而完成socket编程。经过socket接口,咱们才能使用TCP/UDP协议。编程

关于socketTCP/UDP的关系,相似操做系统与接口之间的关系:
TCP/IP只是一个协议栈,就像操做系统的运行机制同样,必需要具体实现,同时还要提供对外的操做接口。这个就像操做系统会提供标准的编程接口,好比win32编程接口同样,TCP/IP也要提供可供程序员作网络开发所用的接口,这就是Socket编程接口。服务器

clipboard.png

而咱们一般浏览网页用到的http协议,是创建在TCP协议之上的一种应用层协议。http协议最显著的特色是它是一种无状态链接,客户端发送的每次请求都须要服务器回送响应,在请求结束后,会主动释放链接,是一种“短链接”。websocket

几者之间的关系概况

对于几者之间的关系,能够概况为:网络

http websocket等应用层协议经过socket接口从而调用tcp udp等传输层协议,从而达到网络通讯。socket

tcp udp =》 socket =》 http websockettcp

总结

综上所述,咱们编程不会直接去调用tcp udp,而是经过他们封装好的接口socket去通讯。能够说,如今几乎网络上全部的通讯,底层都是经过socket完成的,一切皆Socketspa

相关文章
相关标签/搜索