边界标记可以出现在前一个字段数据的末尾吗?请注意,为简洁起见,我已删除了 XML 数据的大部分内容。有问题的边界标记是紧跟在 XML 的结束标记之后的标记 - 在那里有一个边界标记是否有效,还是应该单独在下一行?

Connection: Keep-Alive
Content-Length: 5466
Content-Type: multipart/form-data; boundary=----------9042941111365854226
------------9042941111365854226
Content-Disposition: form-data; name="xml"

<?xml version="1.0" encoding="ISO-8859-1"?><srvhandle>...</srvhandle>------------9042941111365854226
Content-Disposition: form-data; name="objname"

auditevent
------------9042941111365854226--

最佳答案

不,据我所知,它无效。

body 部位之间的边界必须以 CRLF 对开始。在这种情况下,您缺少 CRLF 中的 encapsulation 。 (见下文)。您是 缺少标记外部标题结束的额外 CRLF(即空行)。

MIME 语法

(Multipart/form-data 遵循 MIME 数据规则)

这是根据 RFC 2046 的多部分消息正文结构的摘录。(BNF 语法,有些简化。)

multipart-body := [前导 CRLF]
破折号边界 CRLF
body-part *封装
闭合分隔符
[CRLF 结语]

破折号边界:=“--”边界

body-part := MIME-part-headers [CRLF *OCTET]

封装 := 分隔符
CRLF body 部位

分隔符 := CRLF 破折号边界

关闭分隔符 := 分隔符 "--"

引用

  • RFC 2388 Returning Values from Forms: multipart/form-data
  • RFC 5322 Internet Message Format
  • RFC 2045 (MIME) Part One: Format of Internet Message Bodies
  • RFC 2046 (MIME) Part Two: Media Types
  • 关于http - 这是一个格式良好的多部分/表单数据请求吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27993445/

    10-15 21:59