ArkWeb中,WebviewController含有一些关于DNS解析环节的设置接口。我们先了解一下DNS解析这个知识点,便于以后系统掌握WebviewController和进行相关优化。
DNS由来
大致讲下这个DNS出现的原因以及相关解题思路。设一个最简化场景:世界上的所有电脑都只有IP地址,如图所示:

从上图可以看出,如果用户能记住各个IP,其实传输数据也可以。现在的情况是,人类记不住这些IP!这太难用了。所以就出现了第一版解决方式:
- 记录IP记不住,那就将这个IP映射为人类可以理解的方式: 比如上图中的购物网站是192.168.8.1:8080, 如果换成 “shopping.com”, 就好记得多。shopping.com便是“域名”!
- 如果大家都按照shopping.com记录的话,得出一个中间层机制确保shopping.com能映射到192.168.8.1:8080 。并且如果以后人家shopping.com网站的IP变了,用户也可以无感知,中间层只需要改这个映射地址就可以了。
针对以上问题的出现和解题思路我们不难得出,一定要有一个类似于“电话本”的存在,来将用户能记住的域名与真实的IP绑定!
“电话本”应该怎么设计呢?
最粗暴的方式就是,将电话本写成一个文件放在您电脑上!当你拿着域名访问的时候,通过读取这个“电话本”的记录,就可以知道这个域名对应的IP,就可以访问了。但是!如果途中购物网站系统升级,把IP给改了,你电话本里的记录可是没办法更新的。这是个bug!
怎么解决这个bug呢?很简单:把这个电话本记录在一个远程服务器上,这个服务器上记录着全世界的域名IP对应,如果购物网站想变动域名,那也得必须改这个服务器里的域名。说白了也就是创造一个平台专门处理全世界的域名IP映射问题, 全世界的电脑只需要本地记录一下这个平台的IP,每当访问一个域名的时候,先从本地电话本拿到这个平台的IP, 一个传输层协议过去就可以访问这个平台了,再找这个平台要域名的真实IP。如图所示:

于是最为简单粗暴的DNS便出现了!图中的域名平台服务器,就是DNS服务器。 注意,是最简化的。现实中的DNS服务器,为了让电脑高效快速的访问到"电话本"映射的IP,设计的很复杂,包括为什么域

最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



