api - XML-RPC 与 REST

标签 api rest xml-rpc

我即将在这里构建一个小服务器,并想为它创建一个 API。
我正在决定什么更好,并且已经排除了肥皂 因为那件事在我看来是一团糟。我剩下 休息 XML-RPC .
我真的很喜欢 XML-RPC ,它实现起来非常简单,并且足够常规,所有客户都可以轻松使用它。
这些天所有酷 child 都在做 RESTful 东西,有时带有 JSON 有效载荷或 XML 文档甚至 HTTP POST 变量。
我认为那些人总是为每项服务重新发明轮子。我看不出通过使用 REST 而不是使用 XML-RPC 可以获得什么。
问题:
那么,这里有人可以提供使用 实现 API 的实际原因吗? REST+JSON 仅使用 XML-RPC ?

最佳答案

  • XML-RPC 受专利保护。你可能会发现有一天你被要求为使用它支付版税。据我所知,REST 不是。
  • XML-RPC 请求对安全基础设施是不透明的。而 HTTP 感知防火墙可以配置为允许 REST 调用读取数据,但不能更新或删除它。

  • REST 的其他优点更多地适用于处理大型数据集。
  • REST 在网络上要轻得多(尤其是在使用 JSON 而不是 XML 时)。
  • XML-RPC 忽略 HTTP 语义。所有 XML-RPC 调用都是 HTTP POST。这有很多含义。包括那个
  • REST 请求受益于 HTTP 缓存基础架构,其中所有 XML-RPC 调用都必须由目标服务器处理。
  • REST 使客户端能够使用简单的 HTTP HEAD 请求检查更新。要在 XML-RPC 中做同样的事情,您需要将它构建到您的 API 中。
  • XML-RPC 客户端必须将整个响应加载到内存中,以便可以作为返回值呈现,REST 客户端可以轻松地在流到达时对其进行处理。这意味着 REST 调用可以响应任意数量的记录,其中 XML-RPC API 应该限制响应的大小。
  • 关于api - XML-RPC 与 REST,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11710507/

    相关文章:

    ruby-on-rails - 如何使用 ActionCable 作为 API

    python - 如何故意在Python/Flask中引起400错误请求?

    json - 插入动态数据和请求链接运行范围

    java - 停止 jax-ws 创建本地绝对路径

    macos - Delphi REST mac 内存泄漏

    url - 在运行时创建 XmlRpcUrl 接口(interface)

    iphone - 设置 wordpress iOS 的教程

    c++ - 取整并通过 XML-RPC 发送

    java - API需要GET方法但需要发送参数

    java - MagicDraw 有 Python 接口(interface)或 API 包装器吗?