概述
本文为WebSocket协议的第二章,本文翻译的主要内容为WebSocket协议中相关术语的介绍。
2 一致性要求(第二章协议正文)
在这篇文档中,所有的图、示例和笔记都是非规范性的,就像标注了非规范性的所有章节一样。在文档中没有指定的其他内容都是规范性的。
在这篇文档中的关键词如“必须(MUST)”、“必须不(MUST NOT)”、“需要(RWQUIRE)”、“应该(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数据包。