0:00:02.719,0:00:07.360
互联网如何运作:HTTP和HTML
0:00:07.360,0:00:11.740
我是Jasmine,我是XBOX One工程团队的项目经理。
0:00:11.759,0:00:18.700
我们最大的功能之一是XBOX Live。
0:00:18.700,0:00:24.099
这是一项依靠互联网连接世界各地玩家的在线服务。
0:00:24.099,0:00:30.500
这不是一件容易的事,幕后发生了很多事情。
0:00:30.500,0:00:36.280
互联网完全改变了人们互动和联系的方式。但它是如何工作的?
0:00:36.280,0:00:43.489
世界各地的计算机又是如何相互交流的?让我们来看看网页浏览。
0:00:43.489,0:00:50.199
首先,打开Web浏览器,这是你用来访问网页的应用程序。接下来,
0:00:50.199,0:00:55.899
你键入Web地址或URL,它代表你想访问的网站的统一资源定位器,如tumblr.com。
0:00:55.899,0:01:06.810
嗨,我是大卫卡普,Tumblr的创始人,今天在这里谈谈我们
0:01:06.810,0:01:12.560
每天使用的网络浏览器实际上是如何工作的。你可能想知道
0:01:12.560,0:01:16.350
当你在浏览器中输入一个地址,并点击Enter之后,实际发生了什么呢?
0:01:16.350,0:01:21.020
这真是你能想象到的最疯狂的事情。从那一刻起,你的计算机
0:01:21.020,0:01:25.930
就开始与称为服务器的另一台计算机通话,这个距离通常是数千英里。
0:01:25.930,0:01:32.450
并且在几毫秒内,你的计算机会向该服务器请求网站
0:01:32.450,0:01:39.530
服务器以称为HTTP的语言开始与您的计算机对话。
0:01:39.530,0:01:43.680
HTTP代表超文本传输协议,你可以把它看作是一台计算机
0:01:43.680,0:01:48.009
用来向另一台计算机索取文档的语言。而且它实际上非常简单。
0:01:48.009,0:01:52.540
如果你要截取计算机与互联网上的Web服务器之间的对话,
0:01:52.540,0:01:56.670
它主要是由称为“GET”请求的东西组成。
0:01:56.670,0:02:01.590
因此,如果你尝试登录Tumblr并加载我们的登录页面,你所要做的
0:02:01.590,0:02:06.360
就是向Tumblr的服务器发送一个GET请求,上面写着get/login。
0:02:06.360,0:02:14.290
这告诉Tumblr的服务器,你需要Tumblr登录页面的所有HTML代码。
0:02:14.290,0:02:21.800
所以HTML代表超文本标记语言,你可以将其视为用于
0:02:21.800,0:02:26.470
告诉Web浏览器如何使页面外观的语言。如果你想到像
0:02:26.470,0:02:30.540
维基百科这样的东西,它实际上只是一个简单的大文档,
0:02:30.540,0:02:35.630
HTML是你用来使标题变大和粗体的语言,使字体成为正确的字体,
0:02:35.630,0:02:42.690
将某些文本链接到其他页面,使某些文本粗体化,使一些文本斜体,
0:02:42.690,0:02:46.740
将图像放在页面的中间,使图像与右边对齐,使图像与左边对齐。
0:02:46.740,0:02:52.990
网页文本是直接包含在HTML中的,
0:02:52.990,0:02:58.380
但是图像或视频等其他部分是具有自己需要的URL单独档案的。
0:02:58.380,0:03:04.540
浏览器向其中的每一个发送单独的HTTP请求,并在它们到达时显示它们。
0:03:04.540,0:03:11.670
如果一个网页有很多不同的图像,并且每个图像都会产生一个单独的HTTP请求
0:03:11.670,0:03:20.780
这会使页面加载速度减慢。现在,有时候当你浏览网页时,
0:03:20.780,0:03:25.880
你不仅仅是在请求带有GET请求的页面。有时你发送信息就像
0:03:25.880,0:03:32.300
填写表格或输入搜索查询一样,浏览器使用HTTPPOST请求
0:03:32.300,0:03:39.090
以纯文本形式将此信息发送到Web服务器。假设你登录Tumblr,
0:03:39.090,0:03:45.360
那么第一件事是你提出登录请求,也就是tumblr的登录页面,并且有一些附加数据。
0:03:45.360,0:03:49.680
它将有你的电子邮件地址和密码。那会把你带领到Tumblr的服务器。
0:03:49.680,0:03:55.350
[br]Tumblr的服务器知道了你就是大卫。于是,它把一个网页发回给你的浏览器,
0:03:55.350,0:04:00.480
上面写着“成功”,登录者为大卫!但是除了网页之外,
0:04:00.480,0:04:07.000
它还附加了一些不可见的cookie数据,
0:04:07.000,0:04:11.360
你的浏览器可以看到并知道如何保存这些数据。
0:04:11.360,0:04:16.940
这非常重要,因为它确实是网站记住你是谁的唯一方式。
0:04:16.940,0:04:21.790
并且你的Web浏览器会保留该号码,并在你下次刷新Tumblr时,
0:04:21.790,0:04:26.660
或去Tumblr.com时,你的网络浏览器会自动知道
0:04:26.660,0:04:30.930
将该ID号附加到它发送给Tumblr服务器的请求中。
0:04:30.930,0:04:35.970
所以Tumblr的服务器可以看到来自你的浏览器的请求及ID号,
0:04:35.970,0:04:43.940
并且知道,“好的,这是大卫的请求。” 现在,互联网是完全开放的。
0:04:43.940,0:04:49.350
它的所有连接都是共享的,信息以纯文本形式发送。
0:04:49.350,0:04:55.630
这使得黑客能够窥探到你通过互联网发送的任何个人信息。
0:04:55.630,0:05:00.970
但是安全网站阻止了这一点,通过要求你的Web浏览器
0:05:00.970,0:05:07.630
使用安全套接字层及其后续传输层安全性在安全通道上进行通信。
0:05:07.630,0:05:14.000
你可以将SSL和TLS视为围绕通信的安全层保护他们免受窥探或篡改。
0:05:14.000,0:05:20.530
当你看到浏览器地址栏中显示在HTTPS旁边的小锁时,
0:05:20.530,0:05:27.440
SSL和TLS是活动的。HTTPS协议确保你的HTTP请求是安全的、受到保护的。
0:05:27.440,0:05:33.840
当网站询问您的浏览器时,为了进行安全连接,
0:05:33.840,0:05:39.500
网站首先提供数字证书。这就像一张官方身份证,
0:05:39.500,0:05:45.140
证明它是它声称的网站。数字证书由证书颁发机构发布,
0:05:45.140,0:05:49.900
证书颁发机构是验证网站身份并为其颁发证书的受信任实体,
0:05:49.900,0:05:55.280
就像政府可以签发身份证或护照一样。
0:05:55.280,0:06:01.030
现在,如果网站尝试在没有正确发布的数字证书的情况下启动安全连接,
0:06:01.030,0:06:09.590
你的浏览器会发出警告。这是网页浏览的基础知识!
0:06:09.590,0:06:17.010
也是我们日常看到的情况。总而言之,HTTP和DNS管理HTML、
0:06:17.010,0:06:23.450
媒体文件或Web上的任何内容的发送和接收。让这成为可能的是,
0:06:23.450,0:06:30.370
TCP/IP和路由器网络,它们以小数据包的形式分解和传输信息。
0:06:30.370,0:06:36.670
这些数据包本身由二进制序列组成,序列分别为1和0,
0:06:36.670,0:06:42.550
并通过电线,光纤电缆和无线网络实际发送。
0:06:42.550,0:06:47.440
一旦你学会了互联网的工作原理,你就可以依赖它,而不用
0:06:47.440,0:06:52.070
记住所有的细节。我们可以相信,所有这些层将一起工作,
0:06:52.070,0:06:59.090
以规模和可靠性先后交付信息。