2021-01-14 00:58:56
浏览器显示网页的过程主要分为发送请求、服务器响应、解析文档、请求资源、渲染页面五个关键步骤,具体如下:
发送请求:用户在浏览器输入网址或点击链接后,浏览器会构造一个HTTP请求头,包含请求方法(如GET)、目标URL、浏览器类型、支持的编码格式等信息。例如,输入百度网址时,浏览器会发送类似GET / HTTP/1.1的请求,告知服务器需要获取首页内容。

服务器响应:服务器收到请求后,会根据URL查找对应的文件(如HTML文档)。若文件存在,服务器会返回状态码200 OK及文件内容;若文件不存在,则返回404 Not Found错误。例如,百度服务器返回的响应数据可能是未渲染的HTML代码,与最终页面差异显著。

解析文档:浏览器收到HTML文档后,会解析其结构,识别其中的标签(如<head>、<body>)和内容。若文档中包含外部资源(如CSS样式表、JavaScript脚本、图片),浏览器会记录这些资源的URL,但不会立即请求。
请求资源:浏览器根据解析结果,单独向服务器发起对CSS、JS、图片等资源的请求。例如,访问百度首页时,浏览器会额外请求logo图片、样式文件(.css)和脚本文件(.js)。若网络较慢,用户会观察到图片或样式逐步加载的现象。

渲染页面:浏览器将HTML、CSS和JS整合后,按照以下顺序渲染页面:
构建DOM树:将HTML标签转换为树状结构的文档对象模型(DOM)。
构建CSSOM树:解析CSS文件,生成样式对象模型(CSSOM)。
合并渲染树:结合DOM和CSSOM,生成包含样式信息的渲染树。
布局(Layout):计算每个元素在屏幕上的位置和大小。
绘制(Painting):将渲染树转换为屏幕上的像素,完成最终显示。
注意事项:
