要说清楚从浏览器输入一串URL输入到界面展示的过程是一个并不容易的工作。这个问题确实可以全面考察一个人的计算机知识,以及对它们的熟悉深度。如果细说这些理论,完全可以编辑成一本书;而如果说简单的说,也可以寥寥数语就说完。我们这篇博文总体是从一名前端工程师的角度来看待这件事情的。从计算机基础,到网络传输再到浏览器的渲染原理,每一部分涉及的深度和广度都会不一样。例如:我们会更少地涉及计算机基础,而更多地关注浏览器渲染原理,因为后者才是前端工程师的主战场;在介绍网络篇的时候我们也只是列出了网络包体发送的几个耗时间的关键步骤,如果要深究细节,一篇博文是远远不够的。最后,对底层原理越是深入了解,在实际应用中就越能透过现象看到问题的本质,并且最终解决它。
系统阶段
为了了解浏览器是如何讲用户的输入行为转化称应用界面的,我们需要向下看一点,回到我们学习过的计算机基础层面,了解这些概念,有助于从宏观视角上去理解浏览器是如何工作的。
CPU、进程
cpu是电脑的最核心部件。它处理了每一个电脑的动作上的每一条信息。一个cpu就是一台有效能的机器人,你在电脑上的所有操作最终都会被cpu处理。早期的电脑只有一个cpu,随着电子科学以及芯片制造技术的进步,现在一台电脑都拥有多个cpu,我们平时称拥有多个cpu的电脑为多核电脑,多核意味着处理性能的提升。cpu属于计算机的底层硬件设置,在这之是是操作系统,操作系统是应用程序的底层执行平台。
你打开某个应用,电脑就会为你分配一块内存地址,并且开启一系列的进程为你这个进程服务,每个进程之后都可以通信,我们称这种通信方式为IPC(Internal Processing Communication)。当应用关闭后,内存被释放,进程也随之消失。博文已经迁移至新地址