websocket协议报文头格式:
分片的好处之一:是多用于多路复用,一个逻辑通道上的一个大消息独占输出通道是不可取的,因此多路复用需要可以分割消息为更小的的分段(分片)来更好的共享输出通道。
FIN字段(1bit):指示这个websocket消息的最后片段(设置为1时),是第一个片段(没有分片时第一个片段也是最后一个片段)也可能是最后一个片段(分片时的最后一个片段)。
RSV1,RSV2,RSV3(每一位一bit):
必须是0,除非一个扩展协商为非零值定义含义(也就是两端协商好的一个值)。如果一端收到一个非零值且没有协商的扩展定义这个非零值的含义,接收端必须以报文处理失败告终,并发送close报文给对端,断开websocket连接。
opcode(4bit):此字段标识着这个websocket报文的报文数据类型,占4bit,常用数据含义如下:
0x0:代表一个继续帧
0x1:文本数据帧
0x2:二进制数据帧
0x3-0x7:保留用于未来的非控制帧
0x8:close帧代表链接关闭
0x9:代表ping报文
0xA:代表pong报文
0xB-F:保留用于未来的控制帧