跳到主要内容

2. 约定 (Conventions)

2.1. 一致性准则 (Conformance Criteria)

本文档中的关键词 "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", 和 "OPTIONAL" 应按 [RFC2119] 中的描述解释.

作为算法一部分以祈使句表述的要求 (例如 "strip any leading space characters" 或 "return false and abort these steps") 应按引入该算法时 使用的关键词 ("MUST", "SHOULD", "MAY" 等) 的含义解释.

以算法或具体步骤表述的一致性要求可以用任何方式实现, 只要最终结果等价即可. 特别地, 本规范中定义的算法旨在易于理解, 并非旨在具备高性能.

2.2. 语法记法 (Syntax Notation)

本规范使用 [RFC5234] 的扩展巴科斯-诺尔范式 (Augmented Backus-Naur Form, ABNF) 记法.

以下核心规则按 [RFC5234] 附录 B.1 中的定义通过引用纳入: ALPHA (字母), CR (回车), CRLF (CR LF), CTLs (控制字符), DIGIT (十进制 0-9), DQUOTE (双引号), HEXDIG (十六进制 0-9/A-F/a-f), LF (换行), NUL (空八位组), OCTET (除 NUL 之外的任意 8 位数据序列), SP (空格), HTAB (水平制表符), CHAR (任意 [USASCII] 字符), VCHAR (任意可见 [USASCII] 字符), 以及 WSP (空白).

OWS (optional whitespace, 可选空白) 规则用于可能出现零个或多个线性空白字符的位置:

OWS = *( [ obs-fold ] WSP ) ; "optional" whitespace obs-fold = CRLF

OWS SHOULD 要么不生成, 要么作为单个 SP 字符生成.

2.3. 术语 (Terminology)

术语用户代理 (user agent), 客户端 (client), 服务器 (server), 代理 (proxy), 以及源服务器 (origin server) 的含义与 HTTP/1.1 规范 ([RFC2616], 第 1.3 节) 中相同.

request-host 是用户代理所知的主机名称, 用户代理正向该主机发送 HTTP 请求, 或正从该主机接收 HTTP 响应 (即它发送相应 HTTP 请求的目标主机名称).

术语 request-uri 在 [RFC2616] 第 5.1.2 节中定义.

当且仅当两个八位组序列在 [RFC4790] 定义的 i;ascii-casemap 排序规则下等价时, 称它们彼此大小写不敏感匹配.

术语 string 表示非 NUL 八位组序列.