三亚市住房与城乡建设局网站,怎么做网页挣钱,盐城网站制作网络推广,浙江省住建厅网站阿丹#xff1a; 不断学习新技术#xff0c;丰富自己了解更多才能扩展更多世界可能。
官网
WebSocket首页、文档和下载 - HTML5开发相关 - OSCHINA - 中文开源技术交流社区
软件简介
WebSocket 是 HTML5 开始提供的一种浏览器与服务器间进行全双工通讯的网络技术。 WebS…阿丹 不断学习新技术丰富自己了解更多才能扩展更多世界可能。
官网
WebSocket首页、文档和下载 - HTML5开发相关 - OSCHINA - 中文开源技术交流社区
软件简介
WebSocket 是 HTML5 开始提供的一种浏览器与服务器间进行全双工通讯的网络技术。 WebSocket 通信协议于 2011 年被 IETF 定为标准 RFC 6455WebSocketAPI 被 W3C 定为标准。 现在很多网站为了实现即时通讯 (real-time)所用的技术都是轮询 (polling)。轮询是在特定的的时间间隔 (time interval)如每 1 秒由浏览器对服务器发出 HTTP request然后由服务器返回最新的数据给客服端的浏览器。这种传统的 HTTP request d 的模式带来很明显的缺点 – 浏览器需要不断的向服务器发出请求 (request)然而 HTTP request 的 header 是非常长的里面包含的数据可能只是一个很小的值这样会占用很多的带宽。
而最比较新的技术去做轮询的效果是 Comet – 用了 AJAX。但这种技术虽然可达到全双工通信但依然需要发出请求 (reuqest)。
在 WebSocket API浏览器和服务器只需要要做一个握手的动作然后浏览器和服务器之间就形成了一条快速通道。两者之间就直接可以数据互相传送。在此 WebSocket 协议中为我们实现即使服务带来了两大好处
1. Header
互相沟通的 Header 是很小的 - 大概只有 2 Bytes
2. Server Push
服务器可以主动传送数据给客户端
阿丹解读 WebSocket是基于HTTP协议的升级。WebSocket协议的底层原理是基于HTTP协议的但是它不同于HTTP协议因为它允许服务器主动向客户端发送数据。WebSocket协议的底层原理是通过HTTP协议的升级来实现的。当客户端向服务器发送一个WebSocket请求时服务器会返回一个HTTP 101状态码表示协议已经升级。在升级之后客户端和服务器之间的通信就不再是基于HTTP协议了而是基于WebSocket协议。就是不在需要我们自己前台去通过定时器等等去后台进行获取了而是通过这个协议类似于发布订阅模式来进行的。
WebSocket协议的使用场景
WebSocket协议通常应用于需要实时通信的场景包括但不限于
社交聊天WebSocket可以用于实现实时聊天应用比如在网页版的聊天应用中WebSocket可以用于建立持久连接发送和接收消息。弹幕系统在视频网站或直播平台上用户可以发送弹幕。使用WebSocket可以实时将这些弹幕发送到所有人。多玩家游戏WebSocket可以用于实现实时多人在线游戏。通过WebSocket服务器可以实时将游戏状态推送到客户端从而实现游戏的同步。协同编辑当多个用户在同一文档上工作时使用WebSocket可以实时同步每个人的编辑操作从而避免版本冲突。股票基金实时报价金融界的数据变化非常快使用WebSocket可以实时将最新数据推送到客户端。体育实况更新对于正在进行的体育比赛实时更新比分和比赛状态是非常重要的。使用WebSocket可以实现这一功能。视频会议/聊天WebSocket可以用于实现视频会议或聊天应用使得分布在世界各地的人可以在同一平台上进行实时交流。智能家居通过WebSocket智能家居设备可以实时与云端服务器通信从而进行设备的控制和状态监测。
这些场景的共同特点是都需要实时、双向的通信而WebSocket协议正好满足这一需求。
WebSocket协议同类型协议
除了WebSocket协议之外还有其他的实时通信协议例如
HTTP/2 Server PushHTTP/2协议中引入了一种新技术即服务器推送Server Push。通过这种技术服务器可以在客户端还没有请求资源之前主动将资源推送给客户端。这可以减少页面加载时间提高网页的响应速度。WebSockets over QUICQUIC是一种基于UDP的传输协议它提供了比TCP更快的数据传输速度。WebSockets over QUIC是一种基于QUIC的WebSocket协议实现。由于QUIC是基于UDP的因此它可以避免TCP的一些问题例如TCP的慢启动和拥塞控制等。HTTP/3HTTP/3是基于QUIC的下一代HTTP协议版本。它提供了比HTTP/2更高的性能和更好的安全性。
WebSocket协议同类型协议对比用于技术选型
WebSocket协议是一种实时通信协议它与其他实时通信协议相比具有以下特点和区别
WebSocket协议WebSocket是一种全双工通信协议允许服务器主动向客户端发送数据。它基于TCP协议但需要在HTTP协议的基础上进行第一次握手。一旦握手成功数据就可以在单一的TCP连接上进行双向传输。WebSocket的URL格式形如ws://localhost:80/、wss://localhost:443/。其中“ws”代表WebSocket“wss”代表WebSocket Secure也就是通过TLS或SSL加密的WebSocket。HTTP/2 Server PushHTTP/2 Server Push是HTTP/2协议引入的一种新技术允许服务器在没有收到客户端请求之前主动将资源推送给客户端。这可以减少页面加载时间提高网页的响应速度。WebSockets over QUICWebSockets over QUIC是一种基于QUIC的WebSocket协议实现。QUIC是一种基于UDP的传输协议它提供了比TCP更快的数据传输速度。由于QUIC是基于UDP的因此它可以避免TCP的一些问题例如TCP的慢启动和拥塞控制等。HTTP/3HTTP/3是基于QUIC的下一代HTTP协议版本。它提供了比HTTP/2更高的性能和更好的安全性。MQTTMQTTMessage Queuing Telemetry Transport是一种轻量级的、基于发布-订阅模式的消息传输协议。MQTT协议主要用于物联网设备之间的通信具有低带宽、低能耗、可靠性高、支持异步通信等特点。
总体来说WebSocket协议与其他实时通信协议相比具有以下区别
WebSocket协议是一种应用层协议而HTTP、MQTT等协议主要应用于传输层或应用层。WebSocket协议可以建立持久连接实现双向通信而HTTP等协议通常只能实现单向通信。WebSocket协议的数据报文较小包头非常小而HTTP等协议的数据报文通常较大包头也较大。WebSocket协议适用于实时交互场景例如游戏、聊天等而HTTP等协议适用于请求-响应场景例如网页浏览、下载等操作。MQTT协议适用于物联网设备之间的通信具有低带宽、低能耗等特点。
在选择实时通信协议时需要根据具体的应用场景和需求来选择最合适的协议。