网络如何工作

你打开的每个页面都遵循相同的简短旅程。你通过地址请求某些内容,某处的机器发回一个文本文档,你的浏览器将该文本转换为你看到的页面。HTML 是该文本所用的语言,因此了解它所经历的旅程是本手册中所有其他内容的基础。
客户端和服务器
网络是两方之间的对话。你的浏览器是**客户端:请求页面的程序。持有网站并将其交付出去的机器是服务器**。你请求,它回答。
想象在餐厅点餐。你是顾客,厨房看不见,服务员在你和厨房之间来回奔跑。你不会走进厨房自己做饭。你点一道菜,厨房准备好后把它送出来。你的浏览器是顾客,服务器是厨房,网络是在它们之间奔跑的服务员。
URL 和域名
你输入的地址是一个**URL**:统一资源定位符。它是网络上一个东西的完整地址,就像邮政地址指向一所房子一样。
看看 https://scrimba.com/learn。https 部分是浏览器应该如何与服务器通信。scrimba.com 部分是域名,网站的名称,就像街道和城镇。/learn 部分是到一个特定页面的路径,就像房号。一起,它们指向一个确切的页面,输入它们会告诉浏览器去哪里。
https 说明了如何与服务器通信,像 scrimba.com 这样的域名是网站的名称,像 /learn 这样的路径指向该网站上的一个页面。从左到右阅读,它会告诉你浏览器的确切去向。 请求和响应周期
当你按下 Enter 时,你的浏览器向服务器发送一个**请求:一个短消息,说"请发给我这个页面"。服务器发回一个响应**:页面本身。那个来回是一个完整的往返,这就是每次打开页面或点击链接时发生的情况。
想象要求图书管理员借一本书。你给出书名(你的请求),图书管理员找到它并把它交给你(响应),现在你手里有了。如果这本书不存在,图书管理员告诉你这一点,这也是一个回复。网络的工作原理相同,快得多,每秒多次。
浏览器如何处理它接收的 HTML
响应是一个页面的 HTML 文本。你的浏览器从上到下读取该文本并在屏幕上绘制:它看到一个标题标签并显示粗体大字,它看到一个段落标签并显示一行正文,它看到一个图像标签并获取图片。
你可以把它想象成阅读食谱并烹饪它。文本不是餐厅,它是对餐厅的描述,浏览器是将描述转化为你实际可以看到和使用的东西的厨师。相同的 HTML 总是产生相同的页面,因为浏览器每次都遵循相同的指令。

