HTTP www-form-urlencoded;没有键/值对的原始POST?

时间:2016-03-09 21:24:39

标签: http http-headers

我有一个项目,我们通过HTTP发送包含特殊ASCII码的文本有效负载。在这些特殊的ASCII代码上使用URLEncode可以正常工作。

问题是,我被告知要使用x-www-form-urlencoded内容类型,但接受原始主体就好像它不是一个表单(没有键/值对)而只是urldecode作为单个有效载荷接收内容。

问题:这是否合理?我之前没有遇到过这个问题,并检查了x-www-form-urlencode的真实世界与潜在的“规范破坏”用法(即'形式'部分无关紧要,可以忽略)。

TIA进行交叉检查!

1 个答案:

答案 0 :(得分:1)

回答你的问题:不,这不合理。如果数据不是键/值格式,那么使用x-www-form-urlencoded作为Content-Type没有多大意义(请参阅standard,这里是good explaination)。< / p>

还有什么用? 这真的取决于你的数据。从标准(RFC2045):

  

内容类型标题字段

Content-Type字段的目的是描述数据    完全包含在身体中,接收用户代理可以    选择适当的代理或机制来向其提供数据    用户,或以适当的方式处理数据。该    此字段中的值称为媒体类型。

因此,如果您确实只有ASCII字符,那么它仍然是text/something类型。如果原始数据对您的应用程序来说是特殊的,那么就可以了。