最近我一直在研究WebSockets,我认为它们非常酷。但是,如果我看看here,有些事情对我来说还不清楚。WebSocket密钥如何工作?
请求:
GET /chat HTTP/1.1
Host: server.example.com
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Key: x3JJHMbDL1EzLkh9GBhXDw==
Sec-WebSocket-Protocol: chat, superchat
Sec-WebSocket-Version: 13
Origin: http://example.com
响应:
HTTP/1.1 101 Switching Protocols
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Accept: HSmrc0sMlYUkAGmm5OPpG2HaGWk=
Sec-WebSocket-Protocol: chat
请求者指定主机,所以中间服务器将知道请求应该到达。请求者发送一个随机字符串编码到base64中,并且服务器发回一个经过SHA1加密的密钥。在连接处于活动状态时,这两个键在两者之间使用吗?如果是这样,即使连接断开,这个密钥可以重用吗?