1 什么是WebSocket?
WebSocket从满足基于Web的日益增长的实时通信需求应运而生,解决了客户端发起多个Http请求到服务器资源浏览器必须要在经过长时间的轮询问题,实现里多路复用,是全双工、双向、单套接字连接,在WebSocket协议下服务器和客户端可以同时发送信息。
2 WebSocket和Http的异同点
同:
- 建立在TCP之上,通过TCP协议来传输数据。
- 都是可靠性传输协议。
- 都是应用层协议。
异:
- WebSocket是HTML5中的协议,支持持久连接,HTTP不支持持久连接
- HTTP是单向协议,只能由客户端发起,做不到服务器主动向客户端推送信息。
3 WebSocket和Socket
Socket本身并不是一个协议,它工作在OSI模型会话层,是一个套接字,TCP/IP网络的API,是为了方便大家直接使用更底层协议而存在的一个抽象层。Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面,对用户来说,一组简单的接口就是全部,让Socket去组织数据,以符合指定的协议。
而WebSocket则是一个典型的应用层协议。
4 WebSocket HTTP和TCP/IP
WebSocket和HTTP一样,都是建立在TCP之上,通过TCP来传输数据。
http和websocket并不能说是完全平等完全分开的两样东西,websocket准确地来说应该算是http的下属一个分类。
参考资料
- https://zhihu.com/question/29615964
- https://cnblogs.com/mengbin0546/p/12508848.html