使用安全性的大量数据的REST与SOAP

时间:2011-09-21 07:26:18

标签: iphone web-services json rest soap

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

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

我搜索了许多网站,描述了REST如何更容易以及SOAP如何安全。我对使用哪一个感到困惑? 还有关于响应的类型,根据我的要求,这将是更好的JSON或XML吗?

2 个答案:

答案 0 :(得分:2)

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

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

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

答案 1 :(得分:0)

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

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

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