域名和 URL

域名

其实我们访问网站,输入了英文网址,计算机在某种程度上是不认识的,需要翻译成数字的 IP 地址才能找到目标主机。简单来说就是,世界上本没有域名,记不住 IP 地址的人多了,自然就有了。为了方便记忆采用域名的机制,可以自动映射到 IP 地址,于是大家就可以买一个独一无二的域名,来绑定自己家的主机。

域名通常长这样www.example.com,其实它应该是这样www.example.com.,最后也有一个点号。其中com.部分是顶级域名,其次是一级域名,二级域名。对于域名的购买者来说,example.com这部分是需要他购买的,并且是独一无二的,至于前面的www是可以自己随便设计,哪怕是xxx.example.com也可以,都不需要再额外付费。而别人自然就不能再注册example.com,但可以注册example.cnexample.net等等。

URL 是什么呢?

URL,统一资源定位符,还不如不解释,我自己都看不懂。通俗点解释,可以类比电脑里的 Explorer/Finder,就那个“我的电脑”,“计算机”,“此电脑”,”这台电脑“。在资源管理器里有很多文件夹,里面有各种各样的文件。你应该看到过上面有个地址栏,当你进入到某些文件夹,地址栏会发生变化,或者你输入地址,页面会直接跳转到指定的文件(夹)。浏览器里的 URL 也是一个道理,在网络开发的起初,URL 基本是和本地计算机的资源管理器一样的,真的就是一个 URL 指向一个文件。

所以我们常看到的网址,或者说URL是这样的:https://www.example.com/foo/bar/?name=Jason&age=18。这就很好理解啦,https是协议,类似的还有httpftp等等。中间是域名,域名之后的便是具体的资源路径,问号之后的一般是查询参数。

说了这么多,如何区分真假官网网址呢?

很简单了吧,只有一级域名部分是独一无二的,其他的都是可以模仿伪造的。

比如苹果官网域名是apple.com,其中的页面可能有www.apple.comwhatever.apple.com都是没毛病的。但是有的域名比如icloud.apple.fake.com就是假的,因为其实他注册的域名是fake.com。或者icloud.apple.so这种应该也是假的。

域名解析系统

说到这里,目的基本就达到了,也不妨再提一下 DNS。DNS,即域名解析系统,主要功能就是将字母数字组成的网址,翻译成 IP 地址。一般来说,如果你购买了一个域名,比如example.com,你就可以在你的域名提供商那里设置域名解析。比如将a.example.com解析到你的A机器的公网 IP,将b.example.com解析到别人的网站www.elpmaxe.com去,这样打开这个网址就跳转到了别人网站。你还可以将[email protected]解析到你的邮件服务器,这样你就可以使用[email protected]这样的邮箱地址啦。

DNS 则是会存下来所有的这些解析规则,当你设置好以后,大约十分钟后会通知到全球,其他人便可以访问到啦。至于 DNS 的原理,其实一两句也说不清,递归查找,作为科普文,就点到为止啦~

所以当你只能上QQ,却不能浏览网页的时候,改改 DNS 也许就能解决。

结语

相信看到这里,你对域名有了基本的认识,下次再中奖或者被告知 iCloud 被盗时,点击炸鱼网站的链接前,应该要长个心啦。

如有疏漏,欢迎评论指出,或者前往Github提出issue~谢谢