w3.org (RFC2616)似乎没有定义块的最大大小。但是没有最大块大小,就没有块扩展的空间。必须有一个最大块大小,否则我不能忽略块扩展,因为如果无法理解,我建议这样做(引用:)"MUST ignore chunk-extension extensions they do not understand"
。
问问题
17747 次
2 回答
11
每个块扩展必须以分号开头,并且块扩展列表必须以 CRLF 结尾。解析块大小时,在分号或 CRLF 处停止。如果您停在分号处,请忽略下一个 CRLF 之前的所有内容。不需要最大块大小。
chunk = chunk-size [ chunk-extension ] CRLF
chunk-data CRLF
chunk-size = 1*HEX
chunk-extension= *( ";" chunk-ext-name [ "=" chunk-ext-val ] )
于 2011-08-14T18:36:38.520 回答
7
HTTP 规范对 HTTP 消息的语法非常清楚。
块大小总是以十六进制数给出。如果该数字不是直接跟在一个 CRLF 之后,而是一个;
,那么您就知道有一个扩展名。此扩展由其名称 ( chunk-ext-name
) 标识。如果您从未听说过该特定名称,则必须忽略它。
那么你的问题到底是什么?
- 读取一个十六进制数
- 忽略下一个 CRLF 之前的所有内容
- 要开心
于 2011-08-14T18:39:30.477 回答