跳到主要内容

一致性要求

在这篇文档中,所有的图、示例和笔记都是非规范性的,就像标注了非规范性的所有章节一样。在文档中没有指定的其他内容都是规范性的。

在这篇文档中的关键词如“必须(MUST)”、“必须不(MUST NOT)”、“需要(REQUIRED)”、“应该(SHALL)”、“不应该(SHALL NOT)”、“应该(SHOULD)”、“不应该(SHOULD NOT)”、“推荐(RECOMMENDED)”、“也许(MAY)”和“可选(OPTIONAL)”可以按照RFC2119 所述进行解释。

作为算法的一部分的命令式语句(如“删除任何前导空格”或“返回 false 并且中止后续步骤”)在介绍算法时应该与关键词一起解释(“必须(MUST)”、“应该(SHOULD)”、“也许(MAY)”等)。

算法或者指定步骤中的符合要求的措辞可以通过任何方式表述,只要最终的结果是等价的。(尤其是在算法定义中,我们的目标是竟可能简单的操作而不是最求完美。)

2.1 术语和其他公约

_ASCII_表示定义在ANSI.X3-4.1986的字符编码表。

这个文档参考 UTF-8 的值,使用在 STD 63(RFX3629)定义的 UTF-8 标准格式。

如命名算法或者定义关键输入的标识如_this_

命名 header 字段或者变量如|this|。

本文引用了WebSocket连接失败_Fail the WebSocket Connection_)这个程序。这个程序位于第 7.1.7 节。

转换小写字符_Converting a string to ASCII lowercase_)意味着替换从 U+0041 到 U+005A 的所有字符(拉丁字母大写 A 到 Z)为相对应的 U+0061 到 U+007A 的字符(拉丁字母小写 A-Z)。

不区分 ASCII 大小写(_ASCII case-insensitive_)比较方式意味着通过码点(code point)比较这两个字符,如果这两个字符是 U+0041 到 U+005A(拉丁字母大写 A 到 Z)和相对应的 U+0061 到 U+007A 的字符(拉丁字母小写 A-Z),那么也认为这两个字符相等。

文档中URI这个词被定 sj 义在了RFC3986

当需要实现 WebSocket 协议中一部分的_send_数据时,这个实现是有可能会延迟任意时间来进行数据传输的,例如,使用数据缓冲区来保证发送较少的 IP 数据包。

这个文档在不同的章节会同时使用RFC5234RFC2616这两个中的扩充巴科斯-瑙尔范式(ABNF)。