天天看点

iOS网络编程之一——iOS网络框架简介

        通过网络,一款应用才能够内容丰富,才能够完成用户操作与后台数据的交互。网络编程是移动应用或游戏开发开发中不可缺少的技术。ios原生的网络框架也十分完善,其中涉及到的许多类和协议用于处理网络开发中的各种需求

    ios的url加载系统包含许多类与协议,这些类和协议相互协作完成url加载的信息配置,协议支持,身份验证,cookie和缓存等功能。apple开发文档中有如下图表示他们之间的关系:

iOS网络编程之一——iOS网络框架简介

    关于url加载系统,在ios7之后,nsurlsession是首选的api框架,在ios9中nsurlconnection相关的方法被弃用,如果需要兼容十分旧的版本,依然需要使用nsurlconnection。

        nsurlrequest类负责一个具体的网络请求,其内部封装一个请求路径nsurl对象。如果需要对请求参数进行配置,可以使用nsmutableurlrequest。

        nsurlresponse类封装了相应数据,相应数据包括两部分,一部分是返回数据的状态码,数据长度、编码等信息,另一部分是内容数据本身。

        一些访问请求需要证书或者身份凭证进行验证,上面4个类对请求凭证进行相关设置。

        在应用程序的开发中,为了减小对网络的依赖,提高程序性能,常常会对一些非实时性的数据进行缓存处理,nsurlcache类用于管理nsurlrequest请求缓存。

        nshttpcookiestorage与nshttpcookie用于持久化的存储http请求的cookie数据。