HTTP 协议学习笔记 2 Augentmented BNF

 Augentmented BNF (Backus-Naur Form) 增长巴克斯范式

name = definition

name是单纯的一个name,不包括”<" ,“>",由”=“号同后面的定义隔开。White space只在连续几行中的间隔中才有意义,用来表示一个规则的定义占了好几行。某些基本规则是用大写字母表示的,例如SP,LWS,HT,CRLF,DIGIT,ALPHA等。Angle brackets(尖括号)能促进区分规则名的时候才会在定义中使用。

"literal"

除非特别声明,否则双引号中的文本是大小写不敏感的。

rule1 | rule2

由 "|"符号隔开的元素表明是可选的。例如  "yes|no"表示 接受yes 或者no。

(rule1 rule2)

由"("")"括起来的元素,表明是一个单一的元素。

*rule

元素的前导符号”*“表示重复。 完全形式是 ”<n>*<m>element",表示element出现最小n 最多m次。默认情况下,即×rule表示最少0次最多无穷多次。

[rule]

由方括号(square brackets)括起来的元素表示该元素是可选的。例如 “[foo bar]" 和 ”×1(foo bar)“是一样的。

N rule

指定重复次数N次。同”n*n elements“.

#rule

类似"*",完全定义是”<n>#<m>element“表示最少n最多m个element元素,每一个元素都由一个或者多个”,“以及可选的线性空格(LWS)隔开。例如:

(*LWS element *(*LWS ,*LWS element))   ----> 1#element。

null 元素被允许包含在其中,但是不计算到element的个数中。因此,在至少需要一个元素的地方,至少要出现一个非null元素。

;

后跟注释

implied * LWS

除非特别声明,LWS可出现在任何两个相邻单词之间(token或者quoted-string),以及任何相邻的单词和separator之间。任何两个token之间必须存在至少一个分隔符(LWS 与/或者separators)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值