三十、万维网

在这里插入图片描述
前两集深入讨论了电线、信号、交换机、数据包、路由器以及协议,它们共同组成了互联网。接下来我们再往上抽象一层,讨论万维网(world wide web)。万维网和互联网(Internet)不是一回事。万维网在互联网之上运行,互联网之上还有Skype,Minecraft,Instagram等应用。互联网是传递数的管道,各种程序都会用,其中传输最多数据的程序就是万维网,分布在全球数百万个服务器上。我们可以用“浏览器”来访问万维网。这集我们会深入讲解万维网。

超链接

万维网的最基本单位是单个页面。页面有内容,也有去往其他页面的链接,这些链接叫做“超链接”(hyperlink)。你们都见过,可以点击的文字或图片把你送往另一个页面,这些超链接形成巨大的互联网络,这也是“万维网(world wide web)”的得名。现在说起来很简单,但在超链接做出来之前,计算机上每次想看另一个信息时,你需要在文件系统中找到它,或是把地址输入搜索框。有了超链接,你可以在相关主题之间轻松切换。
超链接的价值早在1945年被Vannevar Bush意识到了。24集我们提及发过一篇文章描述一个假想机器Memex。Bush对其形容为“关联式索引…选一个物品会引起另一个物品被立即选中”。他解释道:“将两样东西联系在一起的过程十分重要,在任何时候,当其中一件东西进入视线,只需要点一下按钮,立马就能回忆起另一件。”1945年的时候计算机连显示屏都没有,所以这个想法非常超前。超链接还有一个另一个名字:“超文本”(hypertext)。如今超文本最常指向的,是另一个网页。然后网页由浏览器渲染,我们待会会讲。

URL-统一资源定位器

为了能使网页能相互连接,每个网页需要一个唯一的地址,这个地址叫“统一资源定位器”(Uniform Resource Locator),简称URL。一个网页URL的例子就是"thecrashcourse.com/courses"。就像上集讨论的,当你访问一个网站时,计算机首先会做“DNS查找”,“DNS查找”的输入是一个域名比如thecrashcourse.com。DNS会输出对应的IP地址。
在这里插入图片描述
现在有了IP地址,你的浏览器会打开一个TCP连接到这个IP地址。这个地址运行着“网络服务器”。网络服务器的标准端口时80端口,这时,你的计算机连到了thecrashcourse.com的服务器。
在这里插入图片描述

Http——超文本传输协议

连接到thecrashcourse.com服务器之后,下一步是向服务器请求“courses”这个页面,这里会使用超文本传输协议(hypertext transfer protocol,http)。http的第一个标准,http 0.9,创建于1991年,只有一个指令——"GET"指令。幸运的是,对当时来说也够用。因为我们想要的是“courses”页面,我们向服务器发送指令:“GET/courses”,该指令以“ASCii编码”发送到服务器。
在这里插入图片描述
服务器会返回该地址对应的网页,然后浏览器会渲染到屏幕上。

在这里插入图片描述
如果用户点了另一个链接,计算机会重新发一个GET请求。你浏览网页时,这个步骤会不断重复。在之后的版本,HTTP添加了状态码,状态码放在请求前面。例如,状态码200代表“网页找到”。
在这里插入图片描述
状态码400-499表示客户端出错。比如404就代表“网页不存在”。

HTML-超文本标记语言

网页的“超文本”的存储和发送都是以普通文本形式。文本可能以ASCII或UTF-16形式编码。但是如果只有纯文本,无法表明什么是链接,什么不是链接。所以有必要开发一种标记方法,因此开发了超文本标记语言(hypertext markup language,html)。HTML的第一版的版本号是0.8,创建于1990年。有18种HTML指令。

实战:写一个网页

  • 首先,给网页一个大标题。<h1>代表一级标题,然后我们加</h1>作为结束标签。
  • 读者可能不知道“克林贡”是什么,所以我们给这个词添加超链接,链接到“克林贡语言学院”。
  • 我们使用<a>标签来实现,因为它有一个href属性来说明链接指向哪里。点击链接时就会进入那个网页。然后用</a>关闭网页。
  • 接下来用<h2>标签做二级标题。
  • html还提供了做列表的标签,我们先写<ol>代表有序列表(ordered list),然后想加几个列表项目,就加几个,用<li>包起来就行。
  • 然后我们给Bat’leth也加上超链接。
    在这里插入图片描述以上就是一个简单的网页。如果把这些文字存入记事本或者文本编辑器,然后给文件取名test.html。就可以将这个文件拖入浏览器打开。
    如今的网站更加复杂,最新版的html和html5有着100多种标签,包括图片标签、表哥标签、表单标签、按钮标签等等。以及其他相关技术,比如层叠样式表(CSS,cascading style sheets)和JavaScript。这两个技术可以加入网页来做更厉害的事情。

浏览器、服务器以及万维网的诞生

回到浏览器(web browers),网页浏览器可以喝网页服务器沟通。浏览器不仅获取网页和媒体,获取后还负责显示。第一个浏览器和服务器是Tim berners-Lee在1990年写的,一共花了2个月。为了做出来,他同时建立了几个最基本的网络标准:URL,HTML,HTTP。和同事在CERN内部使用一阵子后,于1991年发布,万维网就此诞生。重要的是,万维网有开放标准,大家都可以开发新服务器和新浏览器。因此“伊利诺伊大学香槟分校”的一个小组在1993年做了Mosaic浏览器,第一个可以在文字旁边显示图片的浏览器——之前的浏览器要单开一个新窗口来显示图片。它还引进了书签的新功能,界面也很友好,因此它变得很受欢迎。
1990年代末有许多浏览器面世,Internet Explorer,Opera,Mozilla等等。也有很多服务器面世。比如Apache和微软互联网信息服务(Internet Information Service,ISS)。大量的网站也开始创建,亚马逊和eBay就创建于1990年代中期。

搜索引擎的历史

Yahoo

随着万维网日益繁荣,人们越来越需要搜索。如果你知道网站地址,比如ebay.com,直接输入浏览器就行。如果不知道地址呢?我们怎么找到自己想要的资源?起初的解决方案是维护一个目录来链接到其他的网站,其中最有名的就是“Jerry and David的万维网指南”,1994年改名为Yahoo。

JumpStation

随着网络越来越大,人工编辑的目录变得不便利,所以开发了搜索引擎。最早的、长得最像现代搜索引擎的一个搜索引擎叫做JumpStation,由Jonathon Fletcher于1993年在斯特林大学创建。它有3个部分:第一个是爬虫,一个跟着链接到处跑的软件,每当看到新链接的时候就加进自己的列表里;第二个部分是不断扩张的索引,记录访问过的网页上出现过哪些词;最后一个部分是查询索引的搜索算法,举个例子,如果我在JumpStation输入“猫”,每个有“猫”这个词的网页都会出现。

Google

早期搜索引擎的排名方式非常简单,它取决于搜索词在页面上的出现次数。但是会有人利用这一点让自己的网页排名靠前——比如让自己的网页中大量出现搜索词。谷歌成名的一个很大原因就是创造了一个聪明的算法来规避这个问题:与其信任网页上的内容,搜索引擎会看其他网站有没有链接到这个网站。比如一个写满了“猫”的垃圾网站时没有网站会指向它的,而如果有着关于猫的确实有用的信息,就会有网站指向它。所以这些“反向链接”的数量就可以代表网站质量——尤其是这些反向链接中包含有信誉的网站时。
Google一开始时是1996年斯坦福大学一个叫BackRub的研究项目。两年后分离出来并演变成如今的谷歌。

网络中立性

什么是网络中立性(net neutrality)?现在你对数据包、路由和万维网,有了个大体概念。你就可以从技术角度理解这个概念。简单来说,网络中立性是指每个数据包应该被平等的对待,不论这个数据包是我的邮件,或者是你在看视频,速度和优先级应该是一样的。但是很多公司会希望让它们的数据优先到达。比如Comcast,它们不但是大型互联网服务提供商(ISP),而且拥有多家电视频道,例如NBC和The Weather Channel,可以在线看。如果没有网络中立性,Comcast可以让自己的内容优先到达,并节流(Throttled)其他线上视频,也就是说故意给更少带宽和更低优先级。
支持网络中立性的人说,没有中立性之后,提供商可以推出提速的“高速套餐”,给剥削性商业模式埋下种子。互联网服务提供商会成为信息的守门人并有着强烈的动机去碾压他们的对手。Netflix和Google这样的大公司可以花钱购买提速特权,而小公司就会处于劣势。
另一方面,从技术原因来看,也许你会希望不同数据传输速度不同。你会希望Skype的优先级更高,邮件晚几秒没关系。而反对“网络中立性”的人认为,市场竞争会阻碍不良行为。如果供应商把客户喜欢的网站江苏,客户就会选择离开供应商,自由市场本身就可以遏制供应商的恶性竞争行为。
总而言之,网络中立性的影响是深远的,争论将会长期持续下去。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值