9

w3.org(RFC2616)は、チャンクの最大サイズを定義していないようです。ただし、最大チャンクサイズがないと、チャンク拡張用のスペースはありません。最大チャンクサイズが必要です。そうでない場合、理解できない場合はチャンク拡張を無視することはできません(引用:) "MUST ignore chunk-extension extensions they do not understand"

4

2 に答える 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メッセージの構文についてかなり明確です。

チャンクサイズは常に16進数で指定されます。その番号の直後にCRLFが続くのではなく、;代わりに、内線番号があることがわかります。この拡張子は、その名前(chunk-ext-name)で識別されます。その特定の名前を聞いたことがない場合は、無視する必要があります。

それで、あなたの問題は正確には何ですか?

  • 16進数を読み取る
  • 次のCRLFまですべて無視する
  • 幸せになる
于 2011-08-14T18:39:30.477 に答える