什么被视为HTTP标头中的空白

KKa*_*eda 2 standards whitespace http

我刚刚阅读了HTTP标准(比较精确地提出标准)第1部分并且与第3部分中的"空白"相混淆,第2部分到第2部分:https: //tools.ietf.org/html/ rfc7230#部-3-

由于返回(CRLF)终止HTTP头,因此可能隐含的唯一空格是0x20"空格"字符.维基百科列出了另一种空白ASCII符号,如"非破坏空间" 0xA0,所以我仍然不理解这个("空白")概念.

请帮我弄清楚它在本标准范围内的真正含义.

Rem*_*eau 5

您链接到的RFC 7230完全定义了它认为标题中的空格:

HTTP-message   = start-line
                 *( header-field CRLF )
                 CRLF
                 [ message-body ]

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 )
               ; obsolete line folding
               ; see Section 3.2.4

obs-text       = %x80-FF

OWS            = *( SP / HTAB )
               ; optional whitespace

如您所见,SP(空格)和HTAB(水平制表符)是唯一定义的空白字符.它们在RFC 5234附录B.1中定义,RFC 7230链接到:

HTAB           =  %x09
               ; horizontal tab

SP             =  %x20