AFNetworking 源碼分析(一)
AF主要分爲如下5個模塊:
- 網絡通訊模塊(AFURLSessionManager、AFHTTPSessionManger)
- 網絡狀態監聽模塊(Reachability)
- 網絡通訊安全策略模塊(Security)
- 網絡通訊信息序列化/反序列化模塊(Serialization)
- 對於iOS UIKit庫的擴展(UIKit)
其中的核心是AFURLSessionManager。 AFURLSessionManager主要是對NSURLSession的封裝,AFHTTPSessionManager是繼承AFURLSessionManager,這個類並無作什麼,主要是作了一些簡單的封裝,最終請求都是分發給了父類去作。安全
首先咱們簡略的分析一下一個網絡請求的流程是怎樣的:網絡
- 第一步,咱們將請求的url,參數編碼成咱們請求時須要的request,在AF中這個主要是由AFURLRequestSerialization來作。
- 第二步,咱們就要開始發起請求,在AF中這個主要是由AFURLSessionManager來作。
- 第三步,請求成功後對返回的數據進行處理,在AF中這個主要是由AFURLResponsesSerialization來作。