我們爲什麼要使用Retrofit、OkHttp?

不知道各位有沒有在生活中遇到虛假的釣魚網站?在我們上網的過程中,其實很容易遭遇DNS劫持。我就曾經被釣魚網站洗掉了之前一身遊戲裝備...(價值好幾十塊錢)

DNS劫持

DNS劫持一般指域名劫持,通過攻擊域名解析服務器(DNS),或僞造域名解析服務器(DNS)的方法,把目標網站域名解析到錯誤的IP地址從而實現用戶無法訪問目標網站或者訪問釣魚網站的目的。

在2010年的時候,百度曾經被DNS劫持。騰訊、阿里等許多巨頭也都曾經因爲DNS劫持造成過重大的損失。

項目中如何防止發生DNS劫持?

很多Android開發者,在工作中由於所涉及的業務量有限,沒有接觸過這方面的技術。但是一家公司做大之後,就需要考慮網絡安全問題,需要我們對OkHttp和Retrofit有一個深入的學習。

我們項目當中的每一個app都需要用到網絡和服務器進行交互,在Android項目開發中使用HTTP協議完成通信的話,基本上都要用到OkHttp或者Retrofit。

/ OkHttp /

OkHttp是一個高效的HTTP客戶端,它的橫空出世,讓其他的網絡請求框架都變得黯然失色。

/ Retrofit /

Retrofit是一個基於OkHttp的RESTful網絡請求框架,功能強大、簡潔易用及高可拓展性。Retrofit說起來相當簡單,簡單到源碼只有37個文件,其中22個文件是註解,還都和HTTP有關,真正暴露給用戶的類並不多。

Retrofit其實就是一個網絡請求框架的封裝。

/ 封裝 /

爲什麼需要封裝呢?說白了,就是爲了解耦,爲了方便日後切換到不同框架實現,而無需到處修改調用的地方。

比如我們項目當中經常會用到一些之前比較流行的的網絡框架,後期這個框架停止維護或者功能無法滿足業務需求,我們想切換到新的框架,可能調用的地方會非常多,如果不做封裝,直接切換的話,改動量將非常非常大,而且還很有可能會有遺漏,風險度非常高。

評論區問題:

那當我們遇到網絡問題應該怎麼解決?

怎麼保證網絡安全問題?

身爲一名架構師怎麼封裝一個高擴展性高可用的網絡模塊以供業務層調用?

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章