IETF application / x-www-form-urlencoded over application / json

时间:2017-04-16 00:04:32

标签: json api http oauth form-data

我正在通过Oauth的IETF-6749标准,我注意到所有使用application/x-www-form-urlencoded完成的POST请求都是application/json用作请求正文的ContentType。

我找不到任何理由为什么需要application/json

所以我的问题是为什么application/x-www-form-urlencodedapplication/json更受青睐?是因为application/x-www-form-urlencoded提供了比application/json更高的安全性还是更高效?

1 个答案:

答案 0 :(得分:1)

  

是因为application / x-www-form-urlencoded提供了比application / json更高的安全性

没有

  

或者性能更高。

没有

为什么选择form-urlencoded有效负载而不是JSON的可能原因:

  • 请记住,OAuth 2标准是基于OAuth 1起草的,OAuth 1的历史可以追溯到JSON不再是流行语的时候。
  • oAuth有效载荷基本上是键/值数据。 JSON在复杂数据结构的允许方面会提供更大的灵活性,但这可能既是一种祝福也是一种诅咒,因为它还需要更多的验证和可能更多的计算来解析。
  • 最后但并非最不重要; oAuth响应有效负载可能与请求有效负载的格式匹配,并且由于oAuth请求参数通常是HTTP授权标头的一部分,因此它们需要遵循特定格式。请参阅https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.htmlhttps://www.ietf.org/rfc/rfc2617.txt