读取查询变量和 body 变量有什么区别?

What is the difference between reading query variables and body variables?

我正在使用 node.js restify。

有两种方法可以从 HTTP GET 中读取参数。

两者有什么区别?什么情况下应该用哪个?

根据我们一直使用的标准,我认为最佳做法是在执行 get 时使用 params,而在 post、put 和 delete 时使用 body。因为做 post/put 等你可能需要将更复杂的数据发送到你的终点。

此外,还发现了这个: 与 url 相比,您可以在正文中容纳更多(多样化的)数据。您可以在正文中传递任何字符串(特殊字符),而在 url 中对它们进行编码会使您容易受到状态 414(请求 URI 太长)的攻击。而且在传递数组和复杂对象时使用 body 更容易 :)

用户体验的区别在于,使用get,页面可以通过参数加入书签。这是 post 做不到的。根据具体情况,这可能是可取的,也可能不是,但这绝对是需要考虑并做出决定的事情 get/post。