ASIHTTPRequest 基于CFNetwork , 主要提供了如下功能:  

  1. 封装HTTP Request/Response; 
  2. 支持同步/异步请求, gzip压缩;
  3. 支持队列(ASINetworkQueue);
  4. 一些围绕HTTP Request/Response的辅助功能, 比如签证, Cookie, 带宽控制,下载上传相关等等;
  5. 通过delegate,感知请求状态,你可以依据此进行比如UI updating的操作;
  6. 作者还加入了对于Amazon S3请求签证封装,RacksSpace Cloud Files的支持;

RestKit基于NSURLConnection, 主要提供了如下功能:  


  1. 支持HTTP Request/Response(同步/异步);
  2. 支持队列(RKRequestQueue);
  3. 支持Object(s)映射(相当棒!);
  4. 支持Core Data;
  5. 支持JSON/XML解析;
  6. 服务于RESTful web service相关;
  7. 嵌入对于Three20相关的支持;
  8. 同样delegate感知请求状态,做对应处理; 

如上的对比,可以看出 


  • 如果你是使用HTTP Request/Response相关层次的应用,两者都适合你;
  • 如果偏RESTful,那么RestKit更适合,Object(s)映射, 支持CoreData是他的亮点;
  • RestKit还为你架设好了JSON/XML的解析流程,如果你正好需要,正中下怀; 
  • RestKit对于Three20 TableView的支持,如果你正好UI选择了Three20,如虎添翼;
  • ASIHTTPRequest对于Amazon S3请求签证的封装和RackSpace Cloud Files API的支持省了你不少基于这两家云计算公司上做运用的时间;