【问题标题】:Maximum length of headers标头的最大长度
【发布时间】:2021-10-04 05:13:31
【问题描述】:

我对标头名称的最大长度、标头值感兴趣。 并且对参数的最大数量有什么限制吗?

【问题讨论】:

  • RFC 2822 似乎是相关标准,但据我所知,它并没有明确解决这些限制中的任何一个。

标签: email mime rfc


【解决方案1】:

没有任何相关规范定义标头名称或值的最大长度,但是 rfc5321 section 4.5.3.1.6 声明最大行长度为 1000 个八位字节(又名 1000 字节),包括终止 序列。

您可能会问,这对最大标头名称/值长度有何影响?

它根本不影响最大标头长度,因为rfc5322 section 3.2.2定义了CFWS(Comment Folding WhiteSpace) 进一步用于标题的 BNF 语法定义中,它基本上允许标题 values 的长度是无限的。

也就是说,虽然没有明确标头字段name的最大长度,但一个实用的。

  • 最大行长度为 1000 个八位字节(包括终止 序列)。
  • 推荐最大行长度为 78 个八位字节(请参阅rfc5322 section 2.1.1)。
  • 标题的语法定义如下所示:
    optional-field = field-name ":" unstructured CRLF
    field-name = 1*ftext
    ftext = %d33-57 / ; Printable US-ASCII
    %d59-126 ; characters not including
    ; ":".
    (其中optional-field 是规范中未预定义的任何标头字段,例如“To”、“From”、“Date”、“Subject”等)。此语法定义可在rfc5322 section 3.6.8 中找到。
  • 标题字段名称​​不能折叠(如语法定义所示)。

由于必须可以在 998 个字节(1000 个字节减去 序列)内表示一个标题字段名称​​和冒号(“:”),我们可以安全地得出头字段名称的最大长度为 997 字节(或者,由于头字段名称被限制为 US-ASCII,997 characters)和 应该 被限制在建议的最大行长度 78 字节内,这意味着最大标题字段名称​​应该最多为 77 个字节/字符。

【讨论】:

    猜你喜欢
    • 2020-01-30
    • 2014-05-20
    • 1970-01-01
    • 1970-01-01
    • 2010-09-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多