再次休息并获取...

2024-01-16

一般来说,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(使用前将#替换为@)

再次休息并获取... 的相关文章

随机推荐

  • 是否可以在 WPF 中使用 ReactiveUI 绑定仅通过 INotifyDataErrorInfo 验证用户输入?

    我们在 Net Core WPF 应用程序中使用 ReactiveUI WPF 11 0 1 我们正在考虑将所有基于 XAML 的绑定替换为基于 ReactiveUI 的绑定 域类型有一个 ViewModel 实现了 INotifyProp
  • Ruby on Rails 的隐藏功能 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • UIImageWriteToSavedPhotosAlbum() 不保存裁剪后的图像

    我正在尝试将裁剪后的图像保存到相机胶卷中 我需要以编程方式完成 我不能让用户编辑它 这是我的 仍然很基本 剪切和保存代码 void cutAndSaveImage UIImage rawImage CIImage workingImage
  • JavaFX 中的磨砂玻璃效果?

    我正在制作一个 iOS 7 主题的 JavaFX 2 FXML 项目 我想知道如何使 Rectangle 对象具有类似 iOS7 的磨砂玻璃效果 我还希望它有一个小阴影 这很棘手 因为您可能能够看到半透明物体后面的阴影 我只是希望它出现在边
  • Centos 7 - openjdk8 的 jfx 库在哪里?

    我有centos 7 1 我安装了openjdk8和openjdk devel8 但是 当我尝试在 netbeans 中编译我的 jfx 应用程序时 我得到包 javafx 不存在 经过一番调查 我发现jdk中没有jfxrt jar 除了
  • 在 Archlinux 上设置 Haskell 的建议方法是什么?

    我想要一些关于让 Haskell 在 Archlinux 上工作的 最佳 方法的指导 By work我的意思是所有 就ghci命令行工具 安装我没有的软件包 例如vector space http hackage haskell org p
  • 我到底如何在rails 3中安装restful身份验证插件?

    我对 Rails 3 上的这个 Restful 身份验证插件感到非常困惑 我尝试使用以下命令安装该插件 它告诉我它已经安装了 然后我尝试使用 force重新安装这个插件它告诉我找不到该插件 所以如果插件已经安装为什么我会收到错误Could
  • 使用 Parsec 在 Haskell 中编写小型解析器时出现问题

    我正在尝试使用以下代码为小语言编写解析器 import Text ParserCombinators Parsec import Text Parsec Token data Exp Atom String Op String Exp in
  • 使用 CMake 为 Visual Studio 2012 编译 SFML

    在开始提问之前 我只想澄清一下 我希望 SFML 能够静态链接到 runetime 因为我想静态链接 mvsc dll 这样就没有人需要安装它们或依赖它们 我成功地从网站上完成了这项工作 但它也有同样的问题 到问题了 我从 github 下
  • 使用 getRange() 时如何跳过一列 - Google Apps 脚本

    我似乎无法弄清楚如何将此脚本放在跳过列中L 我尝试了许多不同的品种 但都导致错误 希望有更多经验的人能够指点迷津 我需要I K and M O没有L sheet1 getRange I1 O sheet1 getLastRow getVal
  • 如何提高反序列化速度?

    使用 BinaryFormatter 进行序列化 反序列化 生成的序列化文件大小约为 80MB 反序列化需要几分钟 我该如何改进这一点 这是反序列化代码 public static Universe DeserializeFromFile
  • 在Powershell脚本中传递Jenkins环境变量

    我想在 power shell 脚本中使用 jenkins 环境变量 这里 destination 在 powershell 脚本中为 null 无法识别我在做什么错误 请帮助 bin groovy pipeline agent label
  • 以 Promise.all 为条件 [重复]

    这个问题在这里已经有答案了 我知道这个答案 https stackoverflow com a 31414472 4640499下面的代码是基于它的 它正在工作 但我对某些事情不满意 如果我想进行一些条件检查并基于它解决怎么办 我已经对我想
  • git 与 xcode 快照

    我正在通过 itunesU 视频学习 iOS 编程 并且一直在使用 xcode 我在 xcode 中发现了创建快照的功能 到目前为止 我已经用它来为我的项目在每个主要里程碑拍摄快照 然后我来到关于使用 git 进行版本控制的章节 并按照他们
  • 如何获取scrapy失败的URL?

    我是 scrapy 的新手 这是我所知道的令人惊叹的爬虫框架 在我的项目中 我发送了超过 90 000 个请求 但其中有一些失败了 我将日志级别设置为INFO 我只能看到一些统计信息 但看不到详细信息 2012 12 05 21 03 04
  • 如何在Android国际象棋游戏中制作动画

    我正在为 Android 开发国际象棋游戏 androidchess appspot com http androidchess appspot com 如果我想添加动画 我应该使用扩展Canvas的自定义View 我现在这样做 还是扩展S
  • 不小心创造了病毒?

    我经常看到这种情况发生 我用 Delphi 编写一个应用程序 当我编译它时 病毒扫描程序告诉我我已经创建了一个病毒 然后立即再次删除了可执行文件 这很烦人 但通过完全重建 首先删除 dcu 文件 有时只需等待 即可轻松修复 据我所知 Del
  • 类型“[String,AnyObject?]”不符合协议 AnyObject?:为什么?

    我试图理解为什么会出现编译错误 类型 String AnyObject 不符合 AnyObject 协议 var cars String AnyObject model Ferrari var JSON String AnyObject c
  • 在 Python 中使用带有线程的全局字典

    访问 更改字典值是线程安全的吗 我有一本全球词典foo以及带有 id 的多个线程id1 id2 idn 是否可以访问和更改foo如果已知每个线程仅使用其 id 相关值 例如线程 则无需为其分配锁id1只会与foo id1 假设 CPytho
  • 再次休息并获取...

    一般来说 REST 社区似乎不喜欢 GET 请求中的复杂数据 我想知道这背后是否有一个好的原则 或者只是具体化了 GET 字典的 任意 url 长度 限制 我对 url 和资源之间的对应关系感到满意 但为什么我的 GET 请求不能在请求正文