当你在浏览器中输入 URL 并按下回车键时,浏览器会执行以下步骤来加载和显示页面:
DNS 查询:浏览器首先会进行 DNS 查询,将域名解析为 IP 地址。如果浏览器或操作系统已经缓存了这个域名的 IP 地址,那么就可以跳过这一步。
建立 TCP 连接:浏览器与服务器建立 TCP 连接,进行三次握手。
发送 HTTP 请求:浏览器发送 HTTP 请求到服务器,请求包含了请求方法(如 GET 或 POST)、URL、HTTP 版本、请求头和请求体。
服务器处理请求并返回 HTTP 响应:服务器处理浏览器的请求,然后返回一个 HTTP 响应。响应包含了状态码、响应头和响应体(通常是 HTML、CSS、JavaScript、图片等资源)。
浏览器解析和渲染页面:浏览器解析 HTML 生成 DOM 树,解析 CSS 生成 CSSOM 树,然后结合 DOM 树和 CSSOM 树生成渲染树。然后,浏览器会布局渲染树(计算元素的位置和大小),最后绘制渲染树(将元素绘制到屏幕上)。
执行 JavaScript:如果页面中包含 JavaScript,浏览器会解析和执行 JavaScript 代码。JavaScript 可能会修改 DOM 树和 CSSOM 树,这可能会导致渲染树、布局和绘制的更新。
关闭 TCP 连接:最后,浏览器会关闭 TCP 连接,进行四次挥手。
以上就是从输入 URL 到页面展示的过程。这个过程可能会因为网络条件、服务器配置、页面内容等因素而有所不同。