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