1 00:00:02,719 --> 00:00:07,360 互联网如何运作:HTTP和HTML 2 00:00:07,360 --> 00:00:11,740 我是Jasmine,我是XBOX One工程团队的项目经理。 3 00:00:11,759 --> 00:00:18,700 我们最大的功能之一是XBOX Live。 4 00:00:18,700 --> 00:00:24,099 这是一项依靠互联网连接世界各地玩家的在线服务。 5 00:00:24,099 --> 00:00:30,500 这不是一件容易的事,幕后发生了很多事情。 6 00:00:30,500 --> 00:00:36,280 互联网完全改变了人们互动和联系的方式。但它是如何工作的? 7 00:00:36,280 --> 00:00:43,489 世界各地的计算机又是如何相互交流的?让我们来看看网页浏览。 8 00:00:43,489 --> 00:00:50,199 首先,打开Web浏览器,这是你用来访问网页的应用程序。接下来, 9 00:00:50,199 --> 00:00:55,899 你键入Web地址或URL,它代表你想访问的网站的统一资源定位器,如tumblr.com。 10 00:00:55,899 --> 00:01:06,810 嗨,我是大卫卡普,Tumblr的创始人,今天在这里谈谈我们 11 00:01:06,810 --> 00:01:12,560 每天使用的网络浏览器实际上是如何工作的。你可能想知道 12 00:01:12,560 --> 00:01:16,350 当你在浏览器中输入一个地址,并点击Enter之后,实际发生了什么呢? 13 00:01:16,350 --> 00:01:21,020 这真是你能想象到的最疯狂的事情。从那一刻起,你的计算机 14 00:01:21,020 --> 00:01:25,930 就开始与称为服务器的另一台计算机通话,这个距离通常是数千英里。 15 00:01:25,930 --> 00:01:32,450 并且在几毫秒内,你的计算机会向该服务器请求网站 16 00:01:32,450 --> 00:01:39,530 服务器以称为HTTP的语言开始与您的计算机对话。 17 00:01:39,530 --> 00:01:43,680 HTTP代表超文本传输协议,你可以把它看作是一台计算机 18 00:01:43,680 --> 00:01:48,009 用来向另一台计算机索取文档的语言。而且它实际上非常简单。 19 00:01:48,009 --> 00:01:52,540 如果你要截取计算机与互联网上的Web服务器之间的对话, 20 00:01:52,540 --> 00:01:56,670 它主要是由称为“GET”请求的东西组成。 21 00:01:56,670 --> 00:02:01,590 因此,如果你尝试登录Tumblr并加载我们的登录页面,你所要做的 22 00:02:01,590 --> 00:02:06,360 就是向Tumblr的服务器发送一个GET请求,上面写着get/login。 23 00:02:06,360 --> 00:02:14,290 这告诉Tumblr的服务器,你需要Tumblr登录页面的所有HTML代码。 24 00:02:14,290 --> 00:02:21,800 所以HTML代表超文本标记语言,你可以将其视为用于 25 00:02:21,800 --> 00:02:26,470 告诉Web浏览器如何使页面外观的语言。如果你想到像 26 00:02:26,470 --> 00:02:30,540 维基百科这样的东西,它实际上只是一个简单的大文档, 27 00:02:30,540 --> 00:02:35,630 HTML是你用来使标题变大和粗体的语言,使字体成为正确的字体, 28 00:02:35,630 --> 00:02:42,690 将某些文本链接到其他页面,使某些文本粗体化,使一些文本斜体, 29 00:02:42,690 --> 00:02:46,740 将图像放在页面的中间,使图像与右边对齐,使图像与左边对齐。 30 00:02:46,740 --> 00:02:52,990 网页文本是直接包含在HTML中的, 31 00:02:52,990 --> 00:02:58,380 但是图像或视频等其他部分是具有自己需要的URL单独档案的。 32 00:02:58,380 --> 00:03:04,540 浏览器向其中的每一个发送单独的HTTP请求,并在它们到达时显示它们。 33 00:03:04,540 --> 00:03:11,670 如果一个网页有很多不同的图像,并且每个图像都会产生一个单独的HTTP请求 34 00:03:11,670 --> 00:03:20,780 这会使页面加载速度减慢。现在,有时候当你浏览网页时, 35 00:03:20,780 --> 00:03:25,880 你不仅仅是在请求带有GET请求的页面。有时你发送信息就像 36 00:03:25,880 --> 00:03:32,300 填写表格或输入搜索查询一样,浏览器使用HTTPPOST请求 37 00:03:32,300 --> 00:03:39,090 以纯文本形式将此信息发送到Web服务器。假设你登录Tumblr, 38 00:03:39,090 --> 00:03:45,360 那么第一件事是你提出登录请求,也就是tumblr的登录页面,并且有一些附加数据。 39 00:03:45,360 --> 00:03:49,680 它将有你的电子邮件地址和密码。那会把你带领到Tumblr的服务器。 40 00:03:49,680 --> 00:03:55,350 Tumblr的服务器知道了你就是大卫。于是,它把一个网页发回给你的浏览器, 41 00:03:55,350 --> 00:04:00,480 上面写着“成功”,登录者为大卫!但是除了网页之外, 42 00:04:00,480 --> 00:04:07,000 它还附加了一些不可见的cookie数据, 43 00:04:07,000 --> 00:04:11,360 你的浏览器可以看到并知道如何保存这些数据。 44 00:04:11,360 --> 00:04:16,940 这非常重要,因为它确实是网站记住你是谁的唯一方式。 45 00:04:16,940 --> 00:04:21,790 并且你的Web浏览器会保留该号码,并在你下次刷新Tumblr时, 46 00:04:21,790 --> 00:04:26,660 或去Tumblr.com时,你的网络浏览器会自动知道 47 00:04:26,660 --> 00:04:30,930 将该ID号附加到它发送给Tumblr服务器的请求中。 48 00:04:30,930 --> 00:04:35,970 所以Tumblr的服务器可以看到来自你的浏览器的请求及ID号, 49 00:04:35,970 --> 00:04:43,940 并且知道,“好的,这是大卫的请求。” 现在,互联网是完全开放的。 50 00:04:43,940 --> 00:04:49,350 它的所有连接都是共享的,信息以纯文本形式发送。 51 00:04:49,350 --> 00:04:55,630 这使得黑客能够窥探到你通过互联网发送的任何个人信息。 52 00:04:55,630 --> 00:05:00,970 但是安全网站阻止了这一点,通过要求你的Web浏览器 53 00:05:00,970 --> 00:05:07,630 使用安全套接字层及其后续传输层安全性在安全通道上进行通信。 54 00:05:07,630 --> 00:05:14,000 你可以将SSL和TLS视为围绕通信的安全层保护他们免受窥探或篡改。 55 00:05:14,000 --> 00:05:20,530 当你看到浏览器地址栏中显示在HTTPS旁边的小锁时, 56 00:05:20,530 --> 00:05:27,440 SSL和TLS是活动的。HTTPS协议确保你的HTTP请求是安全的、受到保护的。 57 00:05:27,440 --> 00:05:33,840 当网站询问您的浏览器时,为了进行安全连接, 58 00:05:33,840 --> 00:05:39,500 网站首先提供数字证书。这就像一张官方身份证, 59 00:05:39,500 --> 00:05:45,140 证明它是它声称的网站。数字证书由证书颁发机构发布, 60 00:05:45,140 --> 00:05:49,900 证书颁发机构是验证网站身份并为其颁发证书的受信任实体, 61 00:05:49,900 --> 00:05:55,280 就像政府可以签发身份证或护照一样。 62 00:05:55,280 --> 00:06:01,030 现在,如果网站尝试在没有正确发布的数字证书的情况下启动安全连接, 63 00:06:01,030 --> 00:06:09,590 你的浏览器会发出警告。这是网页浏览的基础知识! 64 00:06:09,590 --> 00:06:17,010 也是我们日常看到的情况。总而言之,HTTP和DNS管理HTML、 65 00:06:17,010 --> 00:06:23,450 媒体文件或Web上的任何内容的发送和接收。让这成为可能的是, 66 00:06:23,450 --> 00:06:30,370 TCP/IP和路由器网络,它们以小数据包的形式分解和传输信息。 67 00:06:30,370 --> 00:06:36,670 这些数据包本身由二进制序列组成,序列分别为1和0, 68 00:06:36,670 --> 00:06:42,550 并通过电线,光纤电缆和无线网络实际发送。 69 00:06:42,550 --> 00:06:47,440 一旦你学会了互联网的工作原理,你就可以依赖它,而不用 70 00:06:47,440 --> 00:06:52,070 记住所有的细节。我们可以相信,所有这些层将一起工作, 71 00:06:52,070 --> 00:06:59,090 以规模和可靠性先后交付信息。