iPhone 网络开发介绍

来源:互联网 发布:fastcopy软件 编辑:程序博客网 时间:2024/04/29 16:47
系统总介绍 

URL loading系统是一个类和协议的集合,为应用程序通过url访问数据提供支持 

共有五个类别 

url loading 
cache management 
authentication and credentials 
cookie storage 
protocol support 

分别一一介绍 

url loading 类 
     NSURLResponse——NSHTTPURLResponse 
    NSURLRequest——NSMutableURLRequest 
    NSURLConnetion 
    NSURLDownload 
cache management 
   NSURLCache 
   NSCacheURLRequest 
authentication and credentials 
  NSURLProtectionSpace 
NSURLCredentialStorage 
  NSURLCredential 
  NSURLAuthenticationChallenge 
  NSURLAuthenticationChallengeSender 
cookie storage 
  NSHTTPCookieStorage 
NSHTTPCookie 

Protocol support 
  NSURLProtocol 
  NSURLProtocolClient 

先说URL loading 类家族吧 
通常的使用方法是程序创建一个 url 的内容的request,并根据request从源地址下载 

NSURLRequest 对象表示一个url内容的request,并封装一个url和协议任何特定的属性 
同时也提供了连接超时的接口,并指定本地缓存数据的规则,它的继承类NSMutableURLRequest允许客户程序修改一个已经存在的request 

但是当你的程序已经开始初始化一个connection 或者使用一个NSMutableURLRequest 
下载,改变NSMutableURLRequest不会影响到已经开始的下载 

一些协议比如http 支持很多的指定的属性,所以创建了NSURLRequest和NSMUtableURLRequest的类别,类别里面提供了对协议特定属性的访问方法(accessors) 
举个例子,http协议增加了一些方法访问http协议的request body、headers和转换方法 
具体的方法可以查询NSURLProtocol 类说明 

一个request服务的的回应包含2个部分,描述内容的元数据(metadata) 
和url内容数据,NSURLResponse类封装元数据,比如内容长度、文字的编码等 
协议可以创建NSURLResponse类的子类去存储特定的属性,比如NSHTTPURLResponse 
存储从web服务返回的headers信息和状态码 

注意NSURLReponse只存储元数据metadata,NSCacheURLResponse实例封装 
了NSURLResponse、url内容和任何程序提供的信息 

NSURLConnection和NSURLDownload类提供了一组接口,可以创建一个NSURLRequest对象对应的连接并下载内容,当一个NSURLConnection对象从源地址下载数据时,可以将数据 
传给代理delegate,而NSURLDownload直接写入磁盘。这两个类都提供了大量的delegate 
支持,以便应对重新连接、认证、错误条件 

NSURLConnection提供了一个delegate方法允许程序控制一个response的缓冲(具体是那个 
方法和有什么作用我也不知道,有谁知道吗?) 
而NSURLDownlond实例初始化下载的时候没有缓冲 
0 0
原创粉丝点击