【问题标题】:IETF application/x-www-form-urlencoded over application/jsonIETF application/x-www-form-urlencoded over application/json
【发布时间】:2017-09-11 22:42:25
【问题描述】:

我正在检查 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 更高的安全性,还是因为它的性能更高?

【问题讨论】:

    标签: json api http oauth form-data


    【解决方案1】:

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

    没有。

    或者它是否更高效。

    没有。

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

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

    【讨论】:

    • 这正是我的想法,因为 IETF-6749 是在 2012 年起草的,可能只是因为它有点旧。
    猜你喜欢
    • 1970-01-01
    • 2012-04-09
    • 1970-01-01
    • 2016-04-13
    • 2019-10-26
    • 1970-01-01
    • 1970-01-01
    • 2017-11-09
    • 2019-12-04
    相关资源
    最近更新 更多