IP 地址和 DNS

幽灵电话亭

您想不想知道,当您在地址栏中键入网址时,浏览器是如何找到对应网页的?

每一个网址(例如,“www.google.com”)都对应一个用数字表示的互联网协议 (IP) 地址。

如下所示:

74.125.19.147

IP 地址就是一串数字,用来表示网络上某个特定设备所在的位置,例如哪里是 google.com 或哪里是您的计算机。

这有点像妈妈的电话号码:拨打您妈妈的电话号码可以告知接线员将电话接到您妈妈那儿,而 IP 地址可以指示您的计算机与网络上的哪台设备通信,也就是收发数据。

世界上有 350 亿台设备(或更多)连接在互联网上,浏览器并不能自动识别其中的每个 IP 地址,只能使用所谓的“域名系统”(即 DNS)一个一个地查找。DNS 实质上就是网络“电话簿”:电话薄的作用是将“全聚德烤鸭”这样的名称转换成对应的电话号码;而 DNS 则是将网址(例如,“www.google.com”)转换成要连接的对应 IP 地址(例如,“74.125.19.147”),从而获得您想要的信息(在本例中也就是 Google 首页)。

当您在网络浏览器中键入“google.com”时,浏览器会通过 DNS 查找 google.com 的 IP 地址并与之连接,等待目标地址做出响应以确认连接,然后将您要访问 google.com 网页的请求发送到该 IP 地址。位于该 IP 地址的 Google 服务器在收到请求后将所请求的网页发送回您计算机的 IP 地址,让您的浏览器显示该网页。

不过,使用浏览器获取和载入网页与打电话相比,在很多方面还是有区别的。您打电话时可能是这样一个流程:查找电话号码,拨号,等待对方接听,接通后说“喂”,等待对方回应,然后开始对话。有时候连接出现问题,您就得重播。而在网络上,类似的流程是在瞬间完成的;您刚在浏览器中键入“www.google.com”,Google 首页就显示出来了。

下一章我们会介绍一下,使用浏览器获取和载入网站时,如何通过扩展验证证书验证网站的身份。