1.AFN的框架的构成
会话层AFURLSessionManager
网络监听模块AFNetworkReachabilityManager
网络安全模块 AFSecurityPolicy
请求序列化 AFHTTPRequestSerializer
响应序列话 AFHTTPResponseSerializer
2.AFN的主要关系图
AFN的核心类AFURLSessionManager 在AFURLSessionManager包含了NSURLSession,AFNetworkReachabilityManager还有AFSecurityPolicy。
AFHTTPSessionManager继承了AFURLSessionManager,在AFHTTPSessionManager里面包含了AFHTTPRequestSerializer和AFHTTPResponseSerializer
3.AFURLSessionManager主要负责那些工作
创建和管理NSURLSession,以及调用系统的API来生成NSURLSessionTask,一个NSURLSessionTask对应一个网络请求,没个task都有唯一的taskID,将taskID与task缓存,来保证回调的正确性。
实现NSURLSessionDelegate等协议的代理方法,处理在网络请求的过程中涉及到的网络响应。
引入AFSecurityPolicy保证请求安全
引入AFNetworkReachabilityManager来实现网络监听
4.发送一个get方式的http请求
通过AFHTTPRequestSerializer请求序列话模块来生成系统的NSMutableRequest,然后通过request生产一个task,task = [self.session dataTaskWithRequest:request] 在get请求中将params拼接到链接上面,post请求会将params放到请求体中,设置默认的content-type为表单,响应方式为json