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框架中的作用以及實現原理。


該文章首次發表在 簡書:我只不過是出來寫寫代碼 博客,并自動同步至 騰訊云:我只不過是出來寫寫iOS 博客

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容