Mime头部字段名和':'分隔符之间允许有空格吗?

8

在mime头部中,头字段名和':'分隔符之间允许有空格吗?例如:

Content-Type: <value>

并且

Content-Type  : <value>

等价?

此外,您能否提供一个指向描述此内容的mime标准的指针?我查了几个,但没有找到。

谢谢

3个回答

7
取决于你所指的“allowed”。RFC 2822(取代了1982年的RFC822)和5322(取代了2822)明确禁止在字段名和冒号之间插入空格(这些不是'MIME'标准)。请注意,:不是一个令牌,只是作为字段名称的一部分进行引用,例如:
from = "From:" mailbox-list CRLF

然而,古老的RFC822确实允许在此处使用空格,而较新的RFC说明"符合标准的接收器必须接受和解析已过时的语法"。例如,过时的From:头定义为:
obs-from = "From" *WSP ":" mailbox-list CRLF

第四章涵盖了过时的语法。在我的接收器中,我实际上不允许使用过时的语法,并且从未遇到过问题。


4
目前还不确定是否允许在标准中使用空格分隔头字段名称和冒号,但实现方式因处理这种情况而异。如果可以的话,强烈建议避免在那里使用空格。
参考RFC这篇有些陈旧的文章讨论了HTTP头的问题,它是一个类似的标准。

谢谢您的回复。我正在解析服务器发送的消息,所以我想允许空格可能是明智的选择。 - Thiagarajan Hariharan
4
感谢您指出该文档。它明确说明了允许使用空白字符。3.1.4. 结构化域体为了帮助创建和读取结构化域,可以在词汇符号之间自由插入线性空格(即包括回车换行符的折叠),以利于阅读和理解。 - Thiagarajan Hariharan

2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接