标头的最大长度
Posted
技术标签:
【中文标题】标头的最大长度【英文标题】:Maximum length of headers 【发布时间】:2021-10-04 05:13:31 【问题描述】:我对标头名称的最大长度、标头值感兴趣。 并且对参数的最大数量有什么限制吗?
【问题讨论】:
RFC 2822 似乎是相关标准,但据我所知,它并没有明确解决这些限制中的任何一个。 【参考方案1】:没有任何相关规范定义标头名称或值的最大长度,但是 rfc5321 section 4.5.3.1.6 声明最大行长度为 1000 个八位字节(又名 1000 字节),包括终止
您可能会问,这对最大标头名称/值长度有何影响?
它根本不影响最大标头值长度,因为rfc5322 section 3.2.2定义了CFWS(Comment Folding WhiteSpace) 进一步用于标题的 BNF 语法定义中,它基本上允许标题 values 的长度是无限的。
也就是说,虽然没有明确标头字段name的最大长度,但是一个实用的。
最大行长度为 1000 个八位字节(包括终止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 个字节减去
【讨论】:
以上是关于标头的最大长度的主要内容,如果未能解决你的问题,请参考以下文章
使用 AJP / Tomcat 6.0 设置最大 HTTP 标头大小
可有效存储在 tar 存档标头的大小字段中的最大无符号整数是多少
HTTP 标头 Access-Control-Allow-Origin 中是不是有最大数量的允许来源?