iPhone / iPad(iOS)到MySQL服务器 - 数据处理

时间:2011-08-12 14:57:18

标签: xml ios json authentication communication

我想开发一个与网络服务器通信的应用程序。 我有一个带有数据的网络服务器,我想在iOS设备上加载。

我的目标是:
- 我启动应用程序
- 登录Web服务器(如果我之前已连接到网络服务器,则使用离线)
- 处理我的数据,阅读我的新闻等,更改任何数据(在线和离线)
- 使用应用时检查,如果有任何数据发生变化,并且“更新”或“上传”对网络服务器的更改

*The Data's are only text, no images, no files at the moment*

现在我的问题是,这是我的应用程序的最佳方式?

我应该使用哪个API让我的网络服务器与iOS设备进行通信?
- 我已经阅读了很多XML和JSON,并且JSON可能是最快,最容易在网络服务器和iOS上使用它。
如何脱机使用应用程序并在更改时解析它?如果有任何变化,我该如何同步?
我应该如何解决登录,如何进行身份验证?我认为这是一个非常重要的安全点。

我认为仅使用Request不会有效,因为有很多数据。

感谢您的任何建议,
brush51

1 个答案:

答案 0 :(得分:2)

要进行沟通,请考虑使用ASIHTTPRequest等库。

  

什么是ASIHTTPRequest?

  ASIHTTPRequest是一个易于使用的包装器   围绕CFNetwork API,它使一些更乏味的方面   与Web服务器通信更容易。它是用Objective-C编写的   并适用于Mac OS X和iPhone应用程序。

     

适合执行基本HTTP请求并与之交互   基于REST的服务(GET / POST / PUT / DELETE)。包括在内   ASIFormDataRequest子类使得提交POST数据变得容易   使用multipart / form-data的文件。

数据格式(JSON,XML)非常适合您。我喜欢JSON,肯定是时髦的。

就身份验证而言,请考虑使用https://请求来保护通信。通过https发送用户名/密码,然后分配带有身份验证令牌的cookie。在后续请求中,身份验证令牌将在cookie中自动发送(如果您使用https://将被加密)。您的api需要确保cookie中的身份验证令牌是合法的,然后进行处理。

这是我过去使用的一种安全方法,效果很好。你可以阅读很多关于如何确保沟通的好文章。

查看Best Practices for securing a REST API / web service

另见How to Create Totally Secure Cookies