http标头最后是否包含零?

时间:2016-01-30 07:29:28

标签: http http-headers

假设这是http标头:

Content-length: 67728\r\n
Content-type: application/x-genericbytedata-octet-stream\r\n
\r\n

它是否在标题末尾包含\ 0或“Content-length”字节直接在最后一个\ n后开始?

2 个答案:

答案 0 :(得分:1)

最后没有空字节,所以不,它不包括在内。

答案 1 :(得分:1)

补充。

Body将在标题结束后开始。标题是" \ r \ n \ r \ n"," \ n \ r \ n"," \ r \ n \ n&n&#34 ;或" \ n \ n" (这是两个有效的行尾序列)。

添加" \ 0"标题中的某个位置几乎肯定会使服务器拒绝您的请求(无论是否静默)。尝试在请求中注入NULL字符通常被视为攻击尝试。

在HTTP行分隔符中,语法是" \ r \ n",通常这是解析器正在寻找的,而不是NULL字符。在一个可选的例外情况下,在标题中,以空格开头的行可能被视为前一个标题的一部分(这是obs-fold语法),所以" X:B \ r \ n Z \ r \ N'#34;实际上是标题" X"有价值" B Z"。