tips:从浏览器地址输入URL后,到页面渲染出来,整个过程都发生了什么?
出于单进程浏览器的流产型,安全性,稳定性考虑,若将所有模块放到一起进行,则只要有一个链路崩溃就会造成整个浏览器崩溃,再加上还有一些不稳定的第三方插件。所以浏览器厂商会推出多进程架构的浏览器
输入URL:通过URL解析出协议、主机、端口、路径等信息后,请求的现成会去下载资源。
建立http请求:通过DNS解析将Host转成IP地址,然后通过3次握手和4次挥手创建TCP连接进行http连接。
前后端交互:到达真正的服务器前会经过反向代理中间件,作用包括负载均衡、防火墙nginx等。到达真正的服务器后,会通过http响应数据包的形式返回给请求的前端。设计http协议和http缓存的相关问题。
关键路径渲染:从服务器拿到文件后,构建对象模型,html生成dom树,css生成cssom树。遍历dom树和cssom树,为每个节点添加样式。通过dom树和cssom树得到渲染树,通过上述布局得到盒模型,最终通过浏览器绘制功能将节点转成像素,编程可视化网站。
评论区