首页

第4章 互联网

关灯 护眼    字体:

上一章 章节列表 下一章


在2006年,当时负责制定互联网新规的美国阿拉斯加州参议员特德·史蒂文斯发表了一篇臭名昭著的试图解释互联网是如何运作的演讲:

当10部电影同时在互联网上播放时,互联网会发生什么?就在昨天,我才收到了我的同事通过互联网在上周五上午10点发给我的信。为什么隔了好几天才收到呢?因为它与互联网上的很多信息纠缠在一起……互联网要传输大量的信息。你不可以随便往互联网上扔东西。它不是一辆大卡车,而是一系列的管道。

很明显,参议员史蒂文斯不了解互联网。那我们了解互联网吗?



当你输入网址并按下回车键后发生了什么?


你可能每天都会打开某个浏览器,在地址栏输入某个网址,如“google”。但是在你按下回车键后,直到你熟悉的主页出现在你的计算机或手机屏幕上,你知不知道发生了什么事情呢?

网页地址

在我们讨论网站之前,让我们先了解一下网页地址。如我们所知,每栋建筑物都有一个地址,这样人们可以很容易地找到它。如果我们让50个人去“华盛顿特区西北宾夕法尼亚大道1600号,邮编20500”,他们最终会到达同一个地方。即使他们中的某些人从来没有去过美国,他们也能找到去这栋大楼的路:先去华盛顿特区,再去宾夕法尼亚大道,然后走到1600号街区。

每个网页都有自己的地址,就像每栋建筑物都有自己的地址一样。网页的地址以“https://nytimes/section/sports”这样的形式来表达。

就像建筑物的地址一样,网页地址可以让不同的人很容易到达同一个页面。例如,如果你将“https://nytimes/section/sports”发送给50个朋友,他们最终将看到完全相同的网页。这个网页地址被称为“统一资源定位器”(简称URL)。

你在浏览器的地址栏输入“google”,然后按下回车键。但是地址栏显示的URL是“https://google”!除你输入的“google”以外,其他部分信息是什么呢?

回到我们对建筑物地址的比喻,你会发现在你缩写地址后,人们仍然知道你的意思。例如,你可以把“1600 Pennsylvania Avenue Northwest,Washington,DC 20500”写成“1600 Pennsylvania Avenue NW,Washington,DC”或“1600 Penn Ave NW DC”,人们仍然明白你的意思。(在谷歌地图中输入所有这些地址,它们都会引导你去白宫。)

类似地,“google”其实是“https://google”的缩写。你的浏览器知道你的意思,并会自动补全URL的其余部分。但是URL的其余部分代表什么呢?

地址译码

当浏览器获得完整的URL时,它会将URL分成几个部分,由此确定要打开哪个页面。这就像你将一栋建筑物的地址分解成它的门牌号码、街道、城市、州和邮政编码一样。我们看看浏览器是怎样分解URL的。

URL第一部分是“https://”。这就是所谓的“协议”,它定义了浏览器应该如何连接网站。打个比方,如果你想用优步打车去白宫,你可以选择优步经济型车、优步普通车或优步豪华车。

类似地,当你尝试访问互联网时,你可以选择两种主要“协议”中的一种。默认协议是超文本传输协议(简称HTTP),它在URL中显示为“http://”。比HTTP更安全的加密版本是超文本传输安全协议(简称HTTPS),它在URL中显示为“https://”。它们几乎是相同的,只是HTTPS表明浏览器应该加密你的信息,从而使信息免受黑客的攻击。如果你正在输入密码或信用卡号码,网站会要求使用HTTPS。在这种情况下,浏览器会响应网站的要求,使用HTTPS而不是HTTP,这就像告诉你的朋友约一辆优步豪华车而不是优步普通车一样。

URL的第二部分是“www”。对于大多数网站来说,它是可选的,但是出于完整性的考虑,浏览器通常会显示它。这就像,如果你给一个美国人一个美国的电话号码,你不需要告诉他“+1”这个国家区号,但是你也可以给,如果你想给的话。

之后,浏览器会打开“google”,它被称为“域名”。每个网站都有自己的域名。以下这些域名应该是大家耳熟能详的:google、wikipedia.org、whitehouse.gov。

IP地址

网站有自己的地址——域名,但浏览器并不是用域名来连接网站,而是用被称为“IP地址”的数字代码来识别并连接网站。每个网站都至少有一个IP地址,就像大多数人都有一个手机号码一样。浏览器只有知道了网站的IP地址才能访问网站。这就像你不能只在手机里输入“比尔·盖茨”就指望和他通话一样,你必须通过他的电话号码才能联系到他。

为了将域名转换为IP地址,要用到域名服务(简称DNS)。DNS就像一个巨大的地址簿,列出了域名及对应的IP地址。首先,浏览器会在硬盘上保存最近你访问过的网站“域名—IP地址”列表,就像你自己记录的电话号码簿;如果浏览器无法在保存的“域名—IP地址”列表中找出某个域名对应的IP地址,它就会转而采用互联网服务提供商(简称ISP)提供的DNS查找域名所对应的IP地址。

讲到这里你应该明白了,当你在浏览器中敲入“google”并按下回车键后,浏览器首先会使用DNS查找“google”对应的IP地址,然后显示IP地址对应的网站页面。例如,“google”有很多IP地址,其中一个是“216.58.219.206”。一旦查到域名对应的IP地址,浏览器就可以通过HTTP或HTTPS访问“google”页面了。

同样地,域名“google/maps”对应了IP地址“216.58.219.206/maps”。为了让你的朋友留下深刻印象,你可以在地址栏中输入“216.58.219.206/maps”,就能向你的朋友展示谷歌地图的页面了。

访问谷歌公司的服务器

综上所述,浏览器现在“知道”如何使用HTTPS访问IP地址“216.58.219.206”对应的页面了,这个IP地址所代表的就是人们所熟知的“google”。浏览器将这个访问“请求”打包并发送到为谷歌公司的网站提供运营服务的大型计算机或“服务器”上。在下一节中,我们将解释信息是如何准确地在谷歌服务器和你的计算机之间传输的。

最终,运行google的服务器收到访问请求并找到你要访问的网页。服务器会进行一些计算来准备你访问的页面信息。例如,服务器会检查当天是否有新的谷歌涂鸦,如果有,它将用这个新的涂鸦替换标准的谷歌公司Logo。然后,服务器会准备好呈现网页所需要的代码。

浏览器
m.qiduwx.com提示您,本章没有阅读完,点击下一页进入下一页阅读!

上一章 章节列表 下一章