我们为什么要使用Retrofit、OkHttp?

不知道各位有没有在生活中遇到虚假的钓鱼网站?在我们上网的过程中,其实很容易遭遇DNS劫持。我就曾经被钓鱼网站洗掉了之前一身游戏装备...(价值好几十块钱)

DNS劫持

DNS劫持一般指域名劫持,通过攻击域名解析服务器(DNS),或伪造域名解析服务器(DNS)的方法,把目标网站域名解析到错误的IP地址从而实现用户无法访问目标网站或者访问钓鱼网站的目的。

在2010年的时候,百度曾经被DNS劫持。腾讯、阿里等许多巨头也都曾经因为DNS劫持造成过重大的损失。

我们为什么要使用Retrofit、OkHttp?

项目中如何防止发生DNS劫持?

很多Android开发者,在工作中由于所涉及的业务量有限,没有接触过这方面的技术。但是一家公司做大之后,就需要考虑网络安全问题,需要我们对OkHttp和Retrofit有一个深入的学习。

我们项目当中的每一个app都需要用到网络和服务器进行交互,在Android项目开发中使用HTTP协议完成通信的话,基本上都要用到OkHttp或者Retrofit。

我们为什么要使用Retrofit、OkHttp?

主流网络组件

/ OkHttp /

OkHttp是一个高效的HTTP客户端,它的横空出世,让其他的网络请求框架都变得黯然失色。

/ Retrofit /

Retrofit是一个基于OkHttp的RESTful网络请求框架,功能强大、简洁易用及高可拓展性。Retrofit说起来相当简单,简单到源码只有37个文件,其中22个文件是注解,还都和HTTP有关,真正暴露给用户的类并不多。

Retrofit其实就是一个网络请求框架的封装。

/ 封装 /

为什么需要封装呢?说白了,就是为了解耦,为了方便日后切换到不同框架实现,而无需到处修改调用的地方。

比如我们项目当中经常会用到一些之前比较流行的的网络框架,后期这个框架停止维护或者功能无法满足业务需求,我们想切换到新的框架,可能调用的地方会非常多,如果不做封装,直接切换的话,改动量将非常非常大,而且还很有可能会有遗漏,风险度非常高。

评论区问题:

那当我们遇到网络问题应该怎么解决?

怎么保证网络安全问题?

身为一名架构师怎么封装一个高扩展性高可用的网络模块以供业务层调用?

猜你喜欢

转载自blog.csdn.net/EnjoyEDU/article/details/108539131