DNS優(yōu)化加速

在 app 中網(wǎng)絡(luò)請(qǐng)求中使用了 DSN映射加速。

原理

其原理就是:用域名映射對(duì)應(yīng)的 ip 地址,直接是用 ip地址來做請(qǐng)求越過域名解析過程。(同時(shí) app 中去掉了 afnet 的域名驗(yàn)證)

實(shí)現(xiàn)過程:

第一步

在 app 初始化時(shí)通過一個(gè)全局類 ConfigManager 來通過指定的網(wǎng)絡(luò)請(qǐng)求來獲取 DNS 映射表(即 json 數(shù)據(jù))同時(shí)保存在全局類中。

第二步

在封裝的網(wǎng)絡(luò)請(qǐng)求中業(yè)務(wù)邏輯分開。底層一個(gè)NetKit 直接操作 AFNetworking來做 post,get,down,up請(qǐng)求(是通過 AFURLSessionManager 類中的請(qǐng)求方法)。同時(shí)通過 NSDictionary 將每一個(gè) url 生成的 AFHTTPSessionManager 對(duì)象映射保存起來。

上層業(yè)務(wù)類 Engine 類對(duì) NetKit 返回的 data 進(jìn)行一寫業(yè)務(wù)邏輯操作,如數(shù)據(jù)解析,DNS加速,請(qǐng)求出錯(cuò)重新請(qǐng)求,數(shù)據(jù)統(tǒng)計(jì)等。

通過 ConfigManager 類獲取 DSN 映射表根據(jù)請(qǐng)求的 url來獲取 ip 地址。 通過 NSURLComponents 來改變 url 的 host。 根據(jù)新的 url 生成 AFHTTPSessionManager 對(duì)象重新保存在 NSDictionary 中。

第三步

通過 url 來獲取字典中的 AFHTTPSessionManager 對(duì)象,根據(jù)該對(duì)象來做網(wǎng)絡(luò)請(qǐng)求。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 1. 基礎(chǔ)知識(shí) 1.1 3種常見的計(jì)算機(jī)體系結(jié)構(gòu)劃分 OSI分層(7層):物理層、數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層、傳輸層、會(huì)話...
    Mr希靈閱讀 19,950評(píng)論 6 120
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 134,991評(píng)論 19 139
  • 14.1 引言 域名系統(tǒng)(DNS)是一種用于TCP/IP應(yīng)用程序的分布式數(shù)據(jù)庫,它提供主機(jī)名字和IP地址之間的轉(zhuǎn)換...
    張芳濤閱讀 1,930評(píng)論 0 8
  • 目錄 網(wǎng)絡(luò)基本概念 TCP/IP協(xié)議簇基本概念 HTTP 網(wǎng)絡(luò)開發(fā)技術(shù)解決方案 數(shù)據(jù)解析 網(wǎng)絡(luò)優(yōu)化 1. 網(wǎng)絡(luò)基本...
    Ryan___閱讀 1,381評(píng)論 1 0
  • 我和男友均為小碩,2014年秋畢業(yè),今年國慶期間剛剛?cè)胧值诙追俊U務(wù)勎覀兊馁I房經(jīng)歷。 第一套房子買在重慶郊區(qū)區(qū),...
    蘇小渝閱讀 3,144評(píng)論 55 29