什么是Websocbeplay体育能用吗kets?
beplay体育能用吗Websocket是通过HTTP启动的双向,完整的双链通信协议。它们通常在现代Web应用程序中用于流数据和其他异步流量。beplay体育能用吗
在本节中,我们将解释HTTP和WebSocket之间的区别,描述如何建立Websocket连接,并概述Websocket消息的beplay体育能用吗外观。
HTTP和Websocket之间有什么区别?beplay体育能用吗
Web浏览器和网站之间的大多数通信都使用HTTP。beplay体育能用吗使用HTTP,客户端发送请求,服务器返回响应。通常,响应立即发生,交易完成。即使网络连接保持开放,它也将用于请求和响应的单独交易。
一些现代网站使用Websbeplay体育能用吗ocket。beplay体育能用吗Websocket连接是通过HTTP启动的,通常是长寿的。消息可以随时沿任一个方向发送,并且本质上不是交易的。该连接通常会保持打开状态并闲置,直到客户端或服务器准备发送消息为止。
beplay体育能用吗在需要低延迟或服务器发射消息的情况下,例如财务数据的实时提要,Websocket特别有用。
Websockebeplay体育能用吗t如何建立?
beplay体育能用吗WebSocket连接通常是使用客户端JavaScript创建的,如下所示:
var ws = new beplay体育能用吗websocket(“ wss://normal-website.com/chat”);
笔记
这WSS
协议在加密的TLS连接上建立了一个Websocbeplay体育能用吗ket,而WS
协议使用未加密的连接。
要建立连接,浏览器和服务器通过HTTP执行Websocket握手。beplay体育能用吗浏览器会发出Websocket握手请求,如beplay体育能用吗下所示:
获取 /聊天http /1.1主机:normal-websitebeplay体育能用吗.com sec-websocket-version:13 sec-websocket-key:wdqumtsenbjdhkihl6pw7w ==连接:keep-alive,升级cookie:session = kosejnuflw4rd9bdnrvmijeeeeeeeeeejeeeeeeejeeeee2redrade:
如果服务器接受连接,它将返回以下内容的Websocket握手响应:beplay体育能用吗
http/1.1 101切换协议连接:升级升级:websocket sec-websocket-accept:0ffp+2nbeplay体育能用吗mnif/h+4bp36k9uzrygk =
此时,网络连接保持打开状态,可用于以任一方向发送WebSocket消息。beplay体育能用吗
笔记
Websocket握手消息的几个功能值得注意:beplay体育能用吗
- 这
联系
和升级
请求和响应中的标题表明这是Websocket握手。beplay体育能用吗 - 这
sec-beplay体育能用吗websocket-version
请求标题指定客户端希望使用的Websocket协议版本。beplay体育能用吗这通常是13
。 - 这
sec-beplay体育能用吗websocket-key
请求标头包含一个基本64编码的随机值,应在每个握手请求中随机生成。 - 这
sec-beplay体育能用吗websocket-proccept
响应标头包含在sec-beplay体育能用吗websocket-key
请求标头,与协议规范中定义的特定字符串连接。这样做是为了防止由错误配置的服务器或缓存代理产生的误导响应。
Websockebeplay体育能用吗t消息是什么样的?
一旦建立了Webeplay体育能用吗bsocket连接,客户或服务器可以在任何方向上沿任一方向发送消息。
可以使用客户端JavaScript从浏览器发送一个简单的消息,如下:
WS.Send(“ Peter Wiener”);
原则上,WebSocket消beplay体育能用吗息可以包含任何内容或数据格式。在现代应用程序中,JSON通常用于在WebSocket消息中发送结构化数据。beplay体育能用吗
例如,使用WebSockets的聊天机器人应用程序可能会发送以下消息:beplay体育能用吗
{“用户”:“ hal pline”,“ content”:“我想成为一名PlayStation,而不是回答您无关的问题的设备”}