Jes*_*son 7 multipartform-data
Here’s a RFC 2046 multipart octet stream that uses a boundary of "boundary".
--boundary
Content-Type: text/plain; charset="US-ASCII"
abc
--boundary
a
--boundary
--boundary
--boundary
--boundary--
Run Code Online (Sandbox Code Playgroud)
Part 1 is abc\r\n with a trailing CRLF and one header describing its content-type.
第 2 部分a没有标题,也没有尾随换行符。
第 3 部分是空的。
什么是第 4 部分?有第五部吗?
虽然我无法提供明确的答案,但根据 RFC,这是我的推理:
遵循RFC 2046中的 BNF ,示例的最后部分(即 OP 的“第 4 部分”和“第 5 部分”)可以总结为
delimiter CRLF delimiter close-delimiter
Run Code Online (Sandbox Code Playgroud)
在哪里delimiter := CRLF dash-boundary。多部分体的 BNF 定义为
multipart-body := [preamble CRLF]
dash-boundary transport-padding CRLF
body-part *encapsulation
close-delimiter transport-padding
[CRLF epilogue]
Run Code Online (Sandbox Code Playgroud)
在哪里
encapsulation := delimiter transport-padding
CRLF body-part
Run Code Online (Sandbox Code Playgroud)
尽管 RFC 2046 包含两个明显不同的规则body-part,即。这里和这里,它似乎body-part可能是空的(另见MIME-part-headersRFC 2045和messageRFC 822)。另外,transport-padding应该是空的。
假设是这种情况,那么encapsulation空的body-part就是delimiter CRLF。
我想这会让“第四部分”正式变空。
至于“第 5 部分”,根据上述内容,我希望流以 结束encapsulation close-delimiter,因此将是 delimiter CRLF close-delimiter。
但是,流(“第 5 部分”)以 结尾delimiter close-delimiter,没有 a CRLF(我认为这是问题标题中的“缺少 CRLF”)。
这是否意味着该流根本无效(或不合规)?
| 归档时间: |
|
| 查看次数: |
139 次 |
| 最近记录: |