【发布时间】:2011-02-03 04:15:41
【问题描述】:
我正在尝试在 java 中实现 websockets 服务器,但我无法理解 google chrome 实现的 websocket 协议版本。在this 博客文章中,Chromium 团队提到他们已经实现了 websockets 协议的第 76 版,该协议应具有以下握手请求(从官方版本 76 规范(第 1.2 节)复制):
GET /demo HTTP/1.1
Host: example.com
Connection: Upgrade
Sec-WebSocket-Key2: 12998 5 Y3 1 .P00
Sec-WebSocket-Protocol: sample
Upgrade: WebSocket
Sec-WebSocket-Key1: 4 @1 46546xW%0l 1 5
Origin: http://example.com
^n:ds[4U
我从谷歌浏览器(8.0.552.237)收到的握手请求是:
GET / HTTP/1.1
Upgrade: WebSocket
Connection: Upgrade
Host: localhost:8082
Origin: http://localhost:8081
Sec-WebSocket-Key1: g3 I 9w F : Kt 3?u784C-0 99 5z
Sec-WebSocket-Key2: 4 S5l&Y4m]11+4 032s Ecfl
ïÿÁëƒ^
谁能解释一下为什么谷歌版本和官方规范之间存在差异。谷歌版本的正确响应格式是什么。
PS:有没有人估计 websockets 协议什么时候完成?
【问题讨论】: