WebSocket和Socket的区别_WebSocket和http的区别_WebScoket的长连接和http的长连接的区别

作者:陈阳
链接:https://zhuanlan.zhihu.com/p/39989192
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

1 什么是WebSocket?

WebSocket从满足基于Web的日益增长的实时通信需求应运而生,解决了客户端发起多个Http请求到服务器资源浏览器必须要在经过长时间的轮询问题,实现里多路复用,是全双工、双向、单套接字连接,在WebSocket协议下服务器和客户端可以同时发送信息。

 

2 WebSocket和Http的异同点

同:1建立在TCP之上,通过TCP协议来传输数据。

2 都是可靠性传输协议。

3 都是应用层协议

异:1 WebSocket是HTML5中的协议,支持持久连接,HTTP不支持持久连接

2 HTTP是单向协议,只能由客户端发起,做不到服务器主动向客户端推送信息。

 

3 WebSocket和Socket

Socket本身并不是一个协议,它工作在OSI模型会话层,是一个套接字,TCP/IP网络的API,是为了方便大家直接使用更底层协议而存在的一个抽象层。Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面,对用户来说,一组简单的接口就是全部,让Socket去组织数据,以符合指定的协议。

而WebSocket则是一个典型的应用层协议。

 

4 WebSocket HTTP和TCP/IP

WebSocket和HTTP一样,都是建立在TCP之上,通过TCP来传输数据。后面的文章我会用代码举例子来展示。

 

5 SocketTCP/IP

Socket是对TCP/IP协议的封装,像创建Socket连接时,可以指定使用的传输层协议,Socket可以支持不同的传输层协议(TCP或UDP),当使用TCP协议进行连接时,该Socket连接就是一个TCP连接。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章