WebSocket流量编码(GZip)

时间:2012-04-08 09:48:52

标签: http websocket gzip

StackOverflow在其所有页面上使用GZip编码;他们的websocket流量似乎也是如此,因为它看起来完全混淆了。

enter image description here

他们如何/将使用什么来实现这一目标;相反,我需要做些什么来实现相同的目标,因为我的websocket服务器托管在没有IIS等的独立服务器上?

值得注意的是,http compression也没有在他们的websocket连接请求中设置。


完整日志屏幕截图:http://i44.tinypic.com/19s4yr.jpg

2 个答案:

答案 0 :(得分:6)

根据RFC6455,必须屏蔽从客户端到服务器的WebSocket有效负载,不得屏蔽服务器到客户端。屏蔽是通过XORring有效负载和32位掩码完成的。你在日志中看到的值。

烹饪中有一个WS扩展,提供基于帧的压缩(放气)。这与掩蔽无关。每帧压缩的有效负载有效压缩有效负载,然后屏蔽有效负载(客户端到服务器)。

答案 1 :(得分:1)

我认为这里没有任何gzipping。看起来fiddler已经开始添加对websockets的支持,但它仍在进行中。

日志显示连接
...然后是第一个12字节的消息(461287-inbox。初始字节81 8C显示一个新的,完整的文本帧,带有4字节掩码和12字节数据.Fiddler正确解码它。)
...然后是19字节的第二条消息(字节81 93 - 19字节到流中 - 显示一个新的,完整的文本帧,带有4字节掩码和19字节数据)
...然后是19字节的第三条消息(后面的字节81 93 - 大约44字节进入流 - 显示一个新的,完整的文本帧,带有4字节掩码和19字节数据)