HTTP协议的定义看着挺规范的,但有时候感觉太随意了。里边有很多细节上的说明,虽然描述得很细,但看到细处又感觉很模糊,尤其是对消息的描述。总体感觉太松散随意。
HTTP规范中关于*rule的规则
HTTP协议中有这样一个规则:
*rule
里边很多地方大量使用这种规则进行描述。在一个元素前面出现*号(*(element))表示对元素重复n次,n为0,1,2,...无穷大。
它的完整形式是这样的:
<n>*<m>element
它表示对element重复n到m次。
如:
1*( SP | HT )
表示1个SP或者HT。SP表示空格,HT表示水平tab键。
如:
*(message-header CRLF)
表示n个(message-header CRLF),n为0,1,2,...无穷大。
如:
*( field-content | LWS )
表示n个field-content或者LWS,n为0,1,2,...无穷大。