【问题标题】:REST vs. SOAP for large amount of data with Security具有安全性的大量数据的 REST 与 SOAP
【发布时间】:2011-09-21 07:26:17
【问题描述】:

我有一个要求,我在服务器上有大量数据(以 pdf、图像、doc 文件的形式),这些数据将分发给许多用户。我想使用 Web 服务及其元数据提取这些文件。我将以字节为单位获取文件。我对哪种类型的 Web 服务更安全、更易于解析感到困惑?哪一个在 iPhone 客户端上容易实现?

我知道 REST 更简单,但我在某处读到它不适合分布式环境。同时 SOAP 对于移动平台来说太重了。

我搜索了许多描述 REST 如何更简单以及 SOAP 如何安全的网站。我对使用哪一个感到困惑? 还有关于响应类型,哪一个更适合我的要求?

【问题讨论】:

  • 你不能说 REST VS SOAP,REST 是一种架构解决方案,而 SOAP 是一种协议。
  • 您的安全问题具体是什么?

标签: iphone web-services json rest soap


【解决方案1】:

对于您的要求,JSON 将是最好的响应类型,因为它比 XML 小得多(在许多测试中小 50% 以上)。您可以在 iOS 上使用SBJSON (https://github.com/stig/json-framework/) 轻松解析。

关于 REST 或 SOAP,最后一个对于移动平台来说确实很重,而且不太容易实现。 SOAP 也需要 XML,不能与 JSON 一起使用。而对于 REST,您可以使用 JSON 或 XML,并通过 RESTKit (http://restkit.org/) 在 iOS 上轻松实现它,为了安全起见,您可以使用带有 HTTPS 和签名证书的 SSL 连接。

SOAP 的唯一优势是 WSDL(Web 服务规范),它使您的 Web 服务非常强大。

【讨论】:

  • 我同意,但是json可以像xml一样有效地处理字节数据流吗?
  • JSON 本身不处理字节数据流,您必须在 base64 中对数据进行编码才能处理字节数据。这个subject 说说吧。
  • Web 服务规范究竟是什么让“Web 服务强大”?
  • 由于 WSDL,您确信您的客户端和您的服务器具有相同的实现。使用 REST Web 服务,您可以迁移您的服务器,而无需迁移您的客户端...
【解决方案2】:

除非您有特定要求在同一响应中提取文件数据和元数据,否则您可能会考虑仅使用常规 HTTP GET 提取文件。您可以使用 HTTPS 和基本身份验证或客户端证书获得不错的安全性。然后,我将包含一个指向文件元数据的链接头,如下所示:

Link: </path/to/metadata>;rel=meta

特别是,这使您可以为文件本身及其元数据拥有单独的缓存语义,这在文件比元数据大得多并且元数据可以在不更改文件内容的情况下更改的常见情况下很有用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-04-28
    • 2010-09-14
    • 1970-01-01
    • 2015-03-18
    • 2012-03-06
    • 1970-01-01
    • 2012-04-27
    • 2016-10-22
    相关资源
    最近更新 更多