# 一致性要求
在本規(guī)范中所有圖表、示例、和注釋是非規(guī)范的,以及所有章節(jié)明確地標(biāo)記為非規(guī)范的。除此之外,在本規(guī)范中的一切是規(guī)范的。
該文檔中的關(guān)鍵字“必須(MUST)”、“不能(MUST NOT)”、“需要(REQUIRED)”、“應(yīng)當(dāng)(SHALL)”、“不得(SHALL NOT)”、“應(yīng)該(SHOULD)”、“不應(yīng)該(SHOULD NOT)”、“推薦(RECOMMENDED)”、“可能(MAY)”、和“可選的(OPTIONAL)”由[[RFC2119](http://tools.ietf.org/html/rfc2119)]中的描述解釋。
作為算法一部分的祈使句中的要求措辭(例如 “去掉任何前導(dǎo)空格字符” 或 “返回false并終止這些步驟” )解釋為引入算法中使用的關(guān)鍵字("MUST", "SHOULD", "MAY"等)的意思。
作為算法或特定的步驟的一致性要求措辭可以(MAY)以任何形式實(shí)現(xiàn),只要最終結(jié)果是相等的。(尤其是,定義在本規(guī)范中的算法目的是容易遵循而不必是高性能的)
## [](https://github.com/zhangkaitao/websocket-protocol/wiki/2.%E4%B8%80%E8%87%B4%E6%80%A7%E8%A6%81%E6%B1%82#21%E6%9C%AF%E8%AF%AD%E5%92%8C%E5%85%B6%E4%BB%96%E7%BA%A6%E5%AE%9A)2.1.術(shù)語(yǔ)和其他約定
*ASCII*?指定義在[[ANSI.X3-4.1986](http://tools.ietf.org/html/rfc6455#ref-ANSI.X3-4.1986)]中的字符編碼方案。 此文檔中提到的UTF-8值和使用UTF-8標(biāo)記法格式定義在STD 63 [[RFC3629](http://tools.ietf.org/html/rfc3629)]。
關(guān)鍵術(shù)語(yǔ)例如命名算法或定義是表示像*this*。
頭字段名字或變量表示像|this|。
變量值表示像/this/。
本文檔提及的程序*失敗WebSocket連接*。該程序定義在7.1.7節(jié)。
*將字符串轉(zhuǎn)換為ASCII小寫(xiě)*意思是替換U+0041到U+005A(也就是,拉丁文,大寫(xiě)字母A到拉丁文大寫(xiě)字母Z)范圍的所有字符為U+0061 到 U+007A(也就是,拉丁文小寫(xiě)字母A到拉丁文小寫(xiě)字母Z)范圍的對(duì)應(yīng)的字符。 以一個(gè)*ASCII 不區(qū)分大小寫(xiě)*方式比較兩個(gè)字符串意思是精確地比較它們,代碼點(diǎn)對(duì)代碼點(diǎn),除了U+0041到U+005A(也就是,拉丁文,大寫(xiě)字母A到拉丁文大寫(xiě)字母Z)范圍中的字符,U+0061到U+007A(也就是,拉丁文小寫(xiě)字母A到拉丁文小寫(xiě)字母Z)范圍中的對(duì)應(yīng)的字符被認(rèn)為也匹配。
用于本文檔的術(shù)語(yǔ)“URI”定義在[[RFC3986](http://tools.ietf.org/html/rfc3986)]。
當(dāng)一個(gè)實(shí)現(xiàn)需要*發(fā)送*作為WebSocket一部分的數(shù)據(jù),實(shí)現(xiàn)可能(MAY)任意地推遲實(shí)際的傳輸,例如,緩沖數(shù)據(jù)為了發(fā)送更少的IP包。 注意,該文檔同時(shí)使用[[RFC5234](http://tools.ietf.org/html/rfc5234)]和[[RFC2616](http://tools.ietf.org/html/rfc2616)]的ABNF變體在不同章節(jié)。
