我们遇到了Chrome 19 websockets的问题.它正在尝试使用x-webkit-deflate-frame扩展连接到我们的服务器.但是,我无法弄清楚如何向该客户表明我们不支持该扩展(或者如果它是Chrome 19错误并且忽略了我们不支持它的事实?).我在一些SO答案中看到了这个问题,但我看不出一致的解决方案.
例如,如果我们收到标题
Upgrade: websocket
Connection: Upgrade
Host: titantest:30100
Origin: http://titantest
Sec-WebSocket-Key: f+7h4rrKKqdRRdD7WwTZow==
Sec-WebSocket-Version: 13
Sec-WebSocket-Extensions: x-webkit-deflate-frame
我们应该回应什么?
HTTP/1.1 101 Switching Protocols
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Accept: 3eazAhsFLXFWB1OjcYMtzP13yag=
然后附加到我已经尝试了各种Sec-WebSocket-Extension品种
Sec-WebSocket-Extension: '-'
Sec-WebSocket-Extension: -
Sec-WebSocket-Extension:
<- blank: don't send a Sec-WebSocket-Extension header ->
我也在我面前获得了websocket协议的副本,所以请随时指出我错过/误读的内容.
最佳答案 RFC 6455的9.1节涉及扩展协商.
客户端建议一个扩展列表,服务器从那些想要接受的建议中选择,并使用其返回的Sec-WebSocket-Extensions标头指示该选择.它可以通过在服务器握手响应中根本不包括扩展头来接受none.
当您没有返回扩展标题时,chrome 19是否有特定问题?