这个问题,曾经被无数次作为面试题,原因很简单,无论是大佬还是菜鸟,这个问题多多少少都能回答出来,而你回答的深度和广度则可以判断你在什么样的水平上,到达了怎样的高度.
今天就重点解析一下这个问题.
简洁版大概是这样的:
- 浏览器根据请求的URL交给DNS域名解析,找到真实IP,向服务器发起请求;
- 服务器交给后台处理完成后返回数据,浏览器接收文件(HTML、JS、CSS、图象等);
- 浏览器对加载到的资源(HTML、JS、CSS等)进行语法解析,建立相应的内部数据结构(如HTML的DOM);
- 载入解析到的资源文件,渲染页面,完成.
高级一点的说法,大概是这样的: