AFNetworking框架分析(一)——结构基本介绍

作为一名iOS开发者,AFN网络请求框架是最为常用熟悉的第三方框架之一。GitHub链接跳转AFN链接 作为一名开发者,本着知其然知其所以然的目的,逐步探究一下如此热门的第三方网络请求框架实现原理。 探究的AFN以3.X版本为主,摒弃了NSURLConnection方法,全部基于NSURLSession方法实现。 首先上一张AFN框架类结构组成

AFN框架结构组成

在AFN框架中,负责网络请求通讯最重要的两个类AFURLSessionManager、AFHTTPSessionManager。AFHTTPSessionManager又是继承于AFURLSessionManager,进行了封装。

AFURLRequestSerialization结构的类,主要用于网络请求之前的操作配置,负责配置网络请求的请求头部、序列化请求参数

AFURLResponseSerialization结构的类,主要用于网络请求之后的数据处理,针对不同的数据进行处理,比如JSON、XML、plist、图片格式等数据。

附加功能类中,AFSecurityPolicy主要用于HTTPS环境下的认证安全请求通讯。如果是通过CA认证过的HTTPS访问地址,使用AFN时只需要拼接上https://即可,AFN的网络请求配置中默认使用CA认证访问HTTPS地址;若是自签的证书时,则需要当前类用于进行认证。

AFNetworkReachabilityManager,用于网络状态的监听,判断是否有网络,以及判断网络连接类型,比如蜂窝网络或WiFi环境。但当前类无法判断当前环境能否访问服务器服务。其原理是利用主机的数据包发送。

接下来将按照结构目录的顺序,依次探究各个类在AFN框架中的作用以及实现原理。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券