来源:我了解到的关于浏览器和网络的 20 件事
这是一本有Google Chrome团队于2010年制作的电子书,由于在国内需要梯子。。当一下搬运工
如今许多人都离不开网络,我们只要动动手指就能获得全球信息,并且在瞬间接触到世界各地的人和活动。
所有这些超强体验都归功于开放的互联网。世界上的任何人都能通过任何已联网的设备,通过浏览器上网。
但是浏览器和网络的工作原理究竟是怎样的呢?万维网是如何发展到如今我们所了解和喜爱的样子的?我们需要了解哪些事情才能安全有效地浏览网络?
“我了解到的关于浏览器和网络的 20 件事”是一个简短的指南,面向的是所有想要了解浏览器和网络基本知识的人。本指南介绍了以下内容:
首先我们会介绍一下互联网,这是网络存在的基础。我们还会介绍当今网络是如何通过云计算和网络应用程序运作的。
接着,我们会介绍 HTML 和 javaScript 等网页构建基础,并且回顾它们的发明和发展对于您日常访问的网站起到了怎样的影响。我们还会介绍现代浏览器,以及它如何帮助用户更安全地访问网络。
最后,我们会展望在浏览器和网络技术领域令人兴奋的创新,我们相信在未来可以获得更快速更让人身临其境的在线体验。
虽然网络生活让我们觉得自由自在而且无所不能,但是我们还是应该了解更多些相关知识。正如我们想要了解现实生活中居住小区的基本情况(例如水电安全、注意事项、周边服务等),我们也越来越有必要了解关于在线生活的一系列类似信息。这就是我们编写本指南的用意。在谈到浏览器功能时举的很多例子中,我们经常会提到“Chrome 浏览器”这款大家熟知的开放源代码浏览器。我们希望您在阅读本指南时享受到和我们编写时一样的乐趣。
祝您浏览愉快!
“Google Chrome 浏览器”小组谨此向插图绘制者克里斯托弗•尼曼 (Christoph Niemann) 致上由衷谢意
2010 年 11 月
互联网究竟是什么?对某些人来说,互联网就是用来与朋友交流、读新闻、购物和玩游戏的。而对其他一些人来说,互联网则可能是他们当地的宽带提供商,
或者是城市之间乃至越洋过海传输数据的地下电缆和光纤。谁的看法正确呢?
要讨论这一点,我们不妨从互联网诞生的 1974 年开始说起。那一年,几位天才的计算机研究人员发明了一种称为“互联网协议组”的技术,简称“TCP/IP”。
TCP/IP 制定了一套规则,可以让不同的计算机彼此“交谈”,并且发送和接收信息。
TCP/IP 有点类似于人类之间的交流:人们在交谈时会按照语法规则组织语言,从而确保彼此可以相互理解和交流看法。同样地,TCP/IP 也提供了一套交流规则,从而确保互连设备可以彼此了解,以便发送和接收信息。随着这种互连设备从一个房间扩展到许多房间,再扩展到许多建筑物、城市乃至国家,互联网便诞生了。
互联网的早期创建者发现,如果先将数据和信息分成小块独立发送,然后再重新组合,那么传送效率会更高。这些小块称为数据包。所以,当您通过互联网发送电子邮件时,完整的电子邮件内容会先分成许多数据包发送到收件人邮箱,然后再重新组合。当您在 YouTube 等网站观看视频时,情况同样如此:视频文件会分成许多数据包,从世界各地的多个 YouTube 服务器发送出去,然后重新组合,还原成您在浏览器中看到的视频。
网速如何?如果将互联网的流量比作水流,那么互联网的带宽就相当于每秒流过的水量。所以工程师们所说的带宽实际上是指通过您的互联网连接每秒所能发送的数据量。这是反映您连接速度的一项指标。如今,凭借更精良的实体基础设施(例如光纤电缆,其传输速度接近光速),网络连接的速度可以更快,而且可以更好地在物理介质上进行信息编码,即使是铜线这样的老式介质也完全没问题。
互联网是一个令人着迷的高度技术化体系,但是对于我们大多数人来说,其实很容易使用,完全不必考虑其中所涉及的电缆和方程式之类复杂的东西。
另外,互联网也是我们所熟知和喜爱的万维网存在的支柱:正是互联网连接实现了互连的网页和应用程序,带我们走进了一个不断发展的开放世界。事实上,如今网络中的网页数量可能已经像人脑中的神经元或者银河系中的星星那么多了。
在接下来的两章中,我们会介绍如今的网络是如何通过云计算和网络应用程序在现实生活中应用的。
互联网时代的现代计算机技术是相当神奇和卓越的。当您抱着您的笔记本电脑宅在家里看 YouTube 视频或使用搜索引擎时,实际上利用了遍布全球的无数台计算机的集体力量,正是它们远程提供了您所需的信息。这简直就像有一台大型超级计算机随时听候您的差遣,而这一切都归功于互联网。
这种现象就是我们通常所说的“云计算”。如今我们都可以在网络上读新闻、听音乐、购物、看电视以及存储文件。
在我们所生活的城市中,几乎每个博物馆、银行和政府部门都有自己的网站。结果如何呢?我们可以通过这些网站进行付帐和预约等活动,因此节省了排队和打电话的时间。许多日常事务可以转由网络进行处理,这样我们可以生活得更加丰富多彩。
云计算还有其他一些好处。几年前,如果计算机出现了病毒感染或硬件故障之类的问题,很多人都会担心文档、照片和文件丢失。如今,我们已不再将数据存储局限在个人计算机中,而是迁移到网络上,将数据在线储存到“云”中。如果您在线上传照片、存储重要文件并使用 Gmail 或 Yahoo! Mail 这样网络电子邮件,那么即使一辆 18 轮大卡车碾过您的笔记本电脑,您的所有数据仍会安全地保存在网络上。不论您在世界的哪个角落,都可以通过任何一台接入互联网的计算机访问这些数据。
如果您玩网络游戏,使用网上照片编辑器或者依赖“Google 地图”、Twitter、Amazon、YouTube 或 Facebook 等基于网络的服务,那么您就已经是网络应用程序世界中的一个活跃分子了。
网络应用程序究竟是什么?跟我们有什么关系呢?
“App”是应用程序 (application) 的缩写。应用程序也称为程序或软件。以往,开发应用程序是为了完成综合密集型的任务,例如财务管理或文字处理。现在,在网络浏览器和智能手机的网络世界中,应用程序通常是较为灵活的程序,专门针对单一任务。尤其是网络应用程序,可以在网络浏览器中运行这些任务,并且往往能够提供丰富的互动体验。
“Google 地图”就是一个网络应用程序的绝佳示例。它专门用来处理一项任务:在网络浏览器中提供实用的地图功能。您可以平移和缩放地图,搜索大学或咖啡厅,并且获得行车路线等等。您需要的所有信息都会根据您的要求动态显示在网络应用程序中。
我们可以总结出网络应用程序的四大优点:
在过去的桌面应用程序时代,数据通常存储在计算机的硬盘中。如果我外出度假,但是将计算机留在了家里,那么就无法查收电子邮件、查看照片或访问任何需要的数据了。而在网络应用程序的新时代,我的电子邮件和所有数据都存储在网络上。您可以使用任何一台可以上网的计算机,通过网络浏览器获取所需的数据。
我今天使用的 YouTube 是什么版本?明天呢?答案是:永远都是最新的。网络应用程序会自动更新,所以总是只有一个版本:包含了所有最新功能和改进的最新版本。没有必要每次都手动升级到新版本,也不必在花费大量安装时间后才能使用。
对于传统的计算机技术,有些程序只能在特定的系统或设备上运行。例如,许多为 PC 编写的程序无法在苹果机上运行。为每种系统或设备开发相应的软件不仅耗时,而且成本很高。相反,网络则是一个开放的平台。任何人都可以在连接到网络的设备上通过浏览器访问网络,无论这样的设备是笔记本电脑、桌面计算机还是手机。这意味着我即便使用朋友的笔记本电脑或网吧的计算机,也能运行我喜爱的网络应用程序。
网络应用程序是在浏览器中运行的,无需下载到自己的计算机上。由于应用程序代码与计算机代码是分开的,因此网络应用程序不会影响我计算机上的其他任务,也不会影响计算机的总体性能。这也表示我在面对病毒、恶意软件和间谍软件等威胁时,可以得到更好的保护。
网页都是用 HTML 语言编写的,这是一种网络编程语言,可以指示浏览器如何在网页上构建和展现内容。换句话说,HTML 为网页提供了构建基础。很长一段时间以来,这些构建基础都很简单,而且是静态的,只包含文本行、链接和图片。
如今,我们的要求更高了,例如会想要在线下棋或者无缝滚动浏览周边地图,但不想每下一步棋或每滚动一下地图都要等待整个网页重新载入。
这种动态网页的构想,从 JavaScript 脚本语言发明伊始就已经萌生了。各种主流网络浏览器都支持 JavaScript,这就意味着网页中可以包含更多重要的实时互动内容。例如,如果您填写了一张在线表单,然后点击“提交”按钮,那么网页就会使用 JavaScript 实时检查您输入的内容,并且在发现您填错时立即提醒您。
但是实际上,我们现在所了解的动态网页是在 JavaScript 引入了 XHR(xmlHttPRequest) 后才实现的,然后首先应用到 Microsoft Outlook 网络版、Gmail 和“Google 地图”等网络应用程序中。XHR 无需重新载入整个网页,即可更改网页的各个部分,包括游戏、地图、视频、在线用户调研等。这样,网络应用程序也因此变得更快速,响应也更及时。
在引入 CSS(层叠样式表)后,网页拥有了更丰富的表现力。CSS 可让程序员以轻松而有效的方法来定义网页布局,并通过颜色、圆角、渐变和动画等设计元素美化网页。
网络程序员通常将 JavaScript、XHR、CSS 以及其他几种网络技术的强力组合称为 AJAX(异步 JavaScript 和 XML)。HTML 也在持续发展,新版 HTML 标准中不断加入新的功能和改进。
无数的技术人员、点子专家、编程人员和组织创造了种种网络技术,并确保 Internet Explorer、Firefox、Safari 和 “Google Chrome 浏览器”等网络浏览器支持这些技术,正是这些人的不懈努力,网络世界才有了今日的繁荣。网络技术与浏览器之间相辅相成,把网络打造成一个开放友好的构建平台,供网络开发人员开发各种实用而有趣的网络应用程序,以便我们在日常生活中使用。
在 HTML 诞生 20 多年后,我们仍在探究这样的问题:什么是网络?未来的网络会变成什么样?对于我们这些用户来说,什么样的功能和应用程序才是有趣、实用甚至是不可或缺的呢?开发人员需要借助什么工具来开发优秀的网站和应用程序?最后,如何在网络浏览器中实现网络的种种优势?
对上述问题的探究催生了最新版本的 HTML,也就是 HTML5。它具备了一系列新功能,可以帮助网页设计人员和开发人员们开发强大的下一代网络应用程序。以 HTML5 中的 <video> 标记为例。在早期的网络中,视频并不是一个主要的部分,或者说根本没有;
互联网用户只有安装了称为“插件”的额外软件,才能在浏览器中观看视频。而不久之后,轻松观看视频就成了广大用户迫切需要的一项功能。利用 HTML5 中引入的 <video> 标记,可以轻松地在网页中嵌入和播放视频,无需安装其他软件。
HTML5 还提供了其他一些很棒的功能,例如离线功能(用户即使在没有网络连接的情况下,也能与网络应用程序互动)以及拖放功能。例如在 Gmail 中,用户只要将桌面上的文件拖放到浏览器窗口中,即可瞬间完成附件添加操作。
HTML5 就和网络本身一样, 也在根据用户的需求和开发人员的构想而不断发展。作为一种开放式标准,HTML5 结合了网络显著的一些优势:不受地域限制,都能在装有新一代浏览器的设备上运行。
但是,就像只有在高清电视机上才能观看高清电视节目一样,用户必须使用兼容 HTML5 的最新版浏览器,才能访问那些采用了 HTML5 功能的网
新闻热点
疑难解答