我有一个项目,我们通过HTTP发送包含特殊ASCII码的文本有效负载。在这些特殊的ASCII代码上使用URLEncode可以正常工作。
问题是,我被告知要使用x-www-form-urlencoded内容类型,但接受原始主体就好像它不是一个表单(没有键/值对)而只是urldecode作为单个有效载荷接收内容。
问题:这是否合理?我之前没有遇到过这个问题,并检查了x-www-form-urlencode的真实世界与潜在的“规范破坏”用法(即'形式'部分无关紧要,可以忽略)。
TIA进行交叉检查!
答案 0 :(得分:1)
回答你的问题:不,这不合理。如果数据不是键/值格式,那么使用x-www-form-urlencoded
作为Content-Type
没有多大意义(请参阅standard,这里是good explaination)。< / p>
还有什么用? 这真的取决于你的数据。从标准(RFC2045):
内容类型标题字段
Content-Type字段的目的是描述数据 完全包含在身体中,接收用户代理可以 选择适当的代理或机制来向其提供数据 用户,或以适当的方式处理数据。该 此字段中的值称为媒体类型。
因此,如果您确实只有ASCII字符,那么它仍然是text/something
类型。如果原始数据对您的应用程序来说是特殊的,那么就可以了。