一般来说,REST 社区似乎不喜欢 GET 请求中的复杂数据。我想知道这背后是否有一个好的原则,或者只是具体化了 GET 字典的(任意 url 长度)限制?
我对 url 和资源之间的对应关系感到满意,但为什么我的 GET 请求不能在请求正文中以 json 或 xml 格式获取复杂数据(这是 HTTP 规范允许的)?
据我了解,GET 的要点是 GET 请求表明它们不会修改服务器状态。这似乎与请求的复杂性正交。然而,许多人建议使用 PUT 或 POST 创建复杂查询,然后在 GET 中引用。
这似乎将一个约定(在 GET 请求上没有主体)提升为一个原则,但会带来不幸的副作用:必须维护另一个对象的状态,而该对象本身不值得成为资源——这就是查询。
但也许我还缺少一些其他原则——我欢迎您的评论!
人们担心现有的网络中介会丢弃您的 GET 正文。幸运的是,新的 httpbis 规范重新措辞了 get body 上的文本,使其不再那么可怕。就我个人而言,我正在考虑自己对主体使用 gets,因为我想记录不安全的请求,而目前我没有简单的方法来确定 POST 是否安全。
如果您可以控制位于用户代理和源服务器之间的组件,那么我说继续,将 GET 与主体一起使用。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)