1.URL 解析(编码)
2.查询缓存(缓存相关知识)
3.DNS 解析(DNS 相关)
4、拿到 IP 地址发起 HTTP 请求(这块可以问网络相关各种基础知识,TCP、IP、UDP、HTTPS、HTTP2)
5.建立 TCP 三次握手连接 • 如果是 HTTPS 建立 TLS 安全通道连接(HTTPS 加密方式)
6.发送 HTTP 请求,这个请求可能回到代理服务器或者源服务器。(服务器代理)
7.拿到 HTTP 响应(HTTP 响应码)
8.根据 Content-Type 来判断响应文件类型(常用 HTTP 响应头的作用) • stream 类,浏览器启动下载界面下载文件。 • text、图片类,浏览器直接展示在页面上 • html 类型,浏览器会进行页面解析。
9. • 页面解析 • 网络进程向渲染进程传输 HTML 数据 • 对 HTML 进行词法分析,通过堆栈算法构建 DOM 树。(AST语法树) • 如果遇到外部资源,浏览器会交给网络进程去下载。 • 构建完 DOM 树的同时,将 CSS 代码转为浏览器可以理解的 StyleSheets • 标准化样式属性值(单位、大小) • 计算出 DOM 树每个节点的具体样式 • 计算每个 DOM 节点的父节点们的样式(样式继承) • DOM 树构建完成后, 合并 StyleSheets 构建出 CSSOM 渲染树。 • 排版:遍历渲染树,计算元素的坐标位置。 • 分层:为节点生成图层 • 绘制:用浏览器指令逐条绘制页面元素。(如何避免重绘重排) • 栅格化 • 合成
输入url问题的大致提纲(持续更新)
最新推荐文章于 2024-08-18 21:06:49 发布