ASIHTTPRequest是一款極其強勁的HTTP訪問開源項目。讓簡單的API完成複雜的功能,如:異步請求,隊列請求,GZIP壓縮,緩存,斷點續傳,進度跟蹤,上傳文件,HTTP認證在新的版本中,還加入了OC閉包Block的支持,讓我們的代碼更加輕簡靈活。
1.性能(重點)
* ASI基於底層的CFNetwork框架
* AFN基於NSURLConnection
* 運行性能: ASI > ASN
2.處理服務器數據
1> AFN : 根據服務器返回數據的數據, 進行自動解析
* 服務器返回的是JSON數據, 自動轉換爲NSDictionary或者NSArray
* 服務器返回的是XML數據, 自動轉換爲NSXMLParser
2> ASI : 並沒有對服務器的數據進行解析, 直接返回NSData二進制數據
3.處理請求的過程
1> AFN : success和failure兩個block
2> ASI : 有3種方式處理請求過程(代理方法SELblock)
3.ASI的特色(重點)
1> 緩存
2> 下載和上傳
* 輕鬆監聽請求進度
* 輕鬆實現斷點下載(ASI沒有斷點上傳功能, 斷點上傳得使用socket技術)
3> 提供了很多擴展接口(比如做數據壓縮)
* ASIDataCompressor.h
* ASIDataDecompressor.h
4> ASIHttpRequest繼承自NSOperation
* 能用隊列統一管理所有請求
* 請求之間能依賴
5> ASINetworkQueue
* 統一管理所有請求
* 5個下載上傳請求 --> ASINetworkQueue : 監聽5個請求的總進度
* 監聽所有請求的開始失敗完畢
* shouldCancelAllRequestsOnFailure
YES : 隊列中某個請求失敗了, 其他所有請求都取消
NO : 隊列中的某個請求失敗了, 其他請求不受影響, 繼續請求
4.AFN的特色
1> 使用簡單
2> 自帶了網絡監控功能