相关疑难解决方法(0)

是否可以在HTTP标头字段中包含多个CRLF?

以下是最新HTTP RFC 7230中的HTTP消息定义

 HTTP-message   = start-line
                  *( header-field CRLF )
                  CRLF
                  [ message-body ]
Run Code Online (Sandbox Code Playgroud)

下面是header-field的定义,

 header-field   = field-name ":" OWS field-value OWS

 field-name     = token
 field-value    = *( field-content / obs-fold )
 field-content  = field-vchar [ 1*( SP / HTAB ) field-vchar ]
 field-vchar    = VCHAR / obs-text

 obs-fold       = CRLF 1*( SP / HTAB )
Run Code Online (Sandbox Code Playgroud)

..和:

obs-text       = %x80-FF
Run Code Online (Sandbox Code Playgroud)

..和ABNF的:

 VCHAR          =  %x21-7E
                                 ; visible (printing) characters
Run Code Online (Sandbox Code Playgroud)

正如我们所看到的,场值可以有多个障碍折叠,而障碍折叠有一个CRLF.我认为CRLF是标题行的结尾对我来说很奇怪.是否有一个例子表明多个CRLF被编码到一个标题字段中?或者,我是否误解了这个定义?

networking network-programming http network-protocols http-headers

11
推荐指数
1
解决办法
3195
查看次数