概述
本文为 WebSocket 协议的第七章,本文翻译的主要内容为 WebSocket 连接关闭相关内容。
有兴趣了解该文档之前几章内容的同学可以见:
- 【译】WebSocket 协议——摘要( Abstract )
- 【译】WebSocket 协议第一章——介绍( Introduction )
- 【译】WebSocket 协议第二章——一致性要求( Conformance Requirements )
- 【译】WebSocket 协议第三章——WebSocket网址( WebSocket URIs )
- 【译】WebSocket 协议第四章——连接握手( Opening Handshake )
- 【译】WebSocket 协议第五章——数据帧(Data Framing)
- 【译】WebSocket 协议第六章——发送与接收消息(Sending and Receiving Data)
关闭连接(协议正文)
7.1 定义
7.1.1 关闭 WebSocket 连接
要关闭 WebSocket 连接
,终端需要关闭底层的 TCP 连接。终端需要使用一个方法来干净的关闭TCP连接,还有 TLS 会话,如果可能的话,抛弃后面可能受到的任意字符。终端可能会在需要的时候,通过任何方式来关闭连接,例如在收到攻击时。
在底层的 TCP 连接中,通常大多数情况下,服务端应该先关闭,所以是服务端而不是客户端保持 TIME_WAIT 状态(因为客户端先关闭的话,这会阻止服务端在2 MSL 内重新打开这条连接,而如果服务器处于 TIME_WAIT 状态下,如果收到了一个带有更大序列号的新的 SYN 包时