对于多部分数据请求,应在Content-Type标头中使用哪个分隔符?逗号或分号?

时间:2016-03-03 01:05:31

标签: rest content-type

REST API Web请求中的Content-Type标头是否应使用逗号格式化,如RFC 1867中所示:

Content-type: multipart/form-data, boundary=AaB03x

或使用分号,如RFC 1049RFC 2045

Content-Type: multipart/mixed; boundary=gc0p4Jq0M2Yt08j34c0p

4 个答案:

答案 0 :(得分:9)

这真的只是一个简单的错误而且;是正确的。

RFC 1867是一个实验性定义。所有后续定义都纠正了这个错误。例如:

  • RFC 2388明确替换1867,并引用HTML 40作为分隔符的(正确)定义。
  • RFC 7231明确将2388称为HTTP / 1.1中使用的定义。

最后...... RFC 1867也有一个official correction来使用正确的分隔符。

答案 1 :(得分:3)

依靠最新的RFC: 7231, section 3.1.1.1说:

inf

这为解释或自定义格式留下了空间。

答案 2 :(得分:0)

不幸的是,当几个RFC彼此冲突时,这不是我看到的第一个案例。

在这种情况下,RFC 1049明确涵盖Content-type标头。 RFC 2045引用了RFC 1049.此外,RFC 2045发布于1996年11月,所以它是最新版本。

RFC 1867非常简短地介绍了相反的情况。

所以,我建议使用分号。

答案 3 :(得分:0)

请注意,您的两个相互矛盾的例子并不是真的相互矛盾。 第一个是RFC-1867,它定义了HTML的扩展。另外两个RFC-1049和RFC-2045都定义了Internet邮件协议的扩展。

对于REST API,我可能会使用RFC-1867,它是基于HTTP而设计的,而不是其他两个,它是通过SMTP / POP / IMAP设计的基于RFC-822的电子邮件记住。