从输入 URL 到页面展示,经历了哪些过程?
未标记
考查重点:网络请求与浏览器渲染链路。解析 URL 与缓存条件,按需 DNS 和建连,再取 HTML/资源;解析 DOM/CSS、布局、绘制与合成显示页面
本题目录
参考答案
核心回答
可以沿着解析地址、取得资源、处理文档、渲染画面这条主线回答。以访问一个 HTTPS 页面为例:
- 解析 URL 与检查本地条件:识别协议、主机、端口、路径等信息,判断是否能使用缓存或已有连接。
- 解析域名:需要建立新连接且没有可用地址信息时,通过本地解析机制和
DNS获取目标地址;缓存命中时可以减少查询。 - 建立连接与安全通道:
HTTP/1.1、HTTP/2常使用TCP,HTTPS再进行TLS协商;HTTP/3使用集成TLS的QUIC,不走同一套TCP建连流程。 - 发送请求、接收响应:请求可能经
CDN、网关或反向代理到达服务,服务返回状态、响应头和内容;遇到重定向,则按新地址继续处理。 - 解析
HTML并加载子资源:构建DOM,获取和解析CSS、JavaScript、图片等;资源加载、文档解析和部分执行过程会交错推进。 - 生成画面并持续更新:计算样式,布局确定大小与位置,绘制并合成显示。脚本执行和后续资源到达还可能继续修改页面。
这不是每次访问都完整执行的串行清单:缓存、连接复用和页面内导航可能跳过部分网络工作;浏览器也不必等所有资源下载完成才显示首屏。
地址怎样变成一次网络请求
例如访问 https://example.com/products?id=12#reviews:协议是 HTTPS,主机是 example.com,未显式指定时使用默认端口,路径和查询参数用于请求对应资源。#reviews 是片段标识,通常由浏览器用于页面内定位,不作为 HTTP 请求目标发送给服务器。
需要网络请求时,浏览器先考虑已有连接、地址缓存等信息。DNS 解析也不是浏览器每次亲自从根服务器一路查到底:客户端通常向递归解析器请求结果,解析器根据缓存情况,再向相关权威层级查询。一个域名可能对应多个地址,CDN 也可能把请求引导到不同服务节点。
本地缓存、操作系统解析器、hosts 与安全 DNS 的使用方式受浏览器和系统配置影响,面试时不宜把它们背成所有环境下固定不变的检查顺序。
连接、请求与服务器处理怎样衔接
新建基于 TCP 的 HTTPS 连接时,要完成传输连接与 TLS 协商,包括验证服务器身份、协商后续通信所用的密钥。连接可以复用,握手细节也受协议版本、会话恢复等影响,因此不能给所有 HTTPS 请求规定固定的握手次数或往返数。
连接可用后,浏览器发送方法、请求目标、请求头及必要的请求体。CDN 或代理可能直接返回缓存内容,也可能把请求交给后端;后端再进行路由、鉴权、数据库访问或其他业务处理。浏览器关心的是最终收到的响应,而不要求每次请求都到达源站应用。
响应头决定后续如何处理内容:重定向可能触发新地址请求;需要重新验证的缓存可能在收到 304 后复用已有响应体;HTML 进入文档处理流程,其他类型也可能成为图片、数据或下载文件。网络请求成功,不代表页面已经绘制完成。
浏览器如何把 HTML 变成像素
HTML 数据可以边到达边解析,逐步建立 DOM。发现样式、脚本、图片和字体后,浏览器继续安排资源获取;预加载扫描等机制也能提前发现资源,减少等待。
CSS 解析后参与样式计算,浏览器据此确定哪些内容需要显示、采用什么样式。随后布局计算几何位置与大小,绘制生成需要呈现的内容,再通过相应的栅格化与合成过程形成屏幕画面。这里是常用的渲染过程概括,具体内部数据结构和线程分工由浏览器实现决定。
这些阶段存在依赖,但不是“先下载全部文件,再统一渲染”:普通同步脚本可能暂停 HTML 解析,样式会影响首屏呈现,图片尺寸或脚本修改又可能触发布局与绘制。页面已经可见时,主线程仍可能忙于 JavaScript,导致交互响应迟缓;“看到内容”“资源加载结束”“交互流畅”是不同的观察点。
常见追问
命中缓存,是不是完全不发请求了?
要看是哪种缓存、缓存什么。有效的本地 HTTP 缓存可以避免该资源的网络获取;重新验证仍要发请求。HTML 被缓存,也不代表它引用的所有图片、脚本和接口数据都已缓存。DNS 缓存和连接复用则分别减少解析、建连工作,不等于取得了页面内容。
页面显示后,TCP 就会四次挥手吗?
不一定。HTTP 连接可以保留复用,HTTP/2 还可以在同一连接上承载多个流;HTTP/3 使用 QUIC。页面绘制结束不是所有连接立即关闭的条件,后续还可能继续请求数据。
页面白屏,应该从哪个阶段查?
先看主文档是否成功返回、是否发生错误重定向,再检查 CSS、JS 和接口请求。主文档正常而页面仍空白时,继续看脚本报错、初始化流程和样式是否隐藏内容;能显示但卡顿,则检查主线程长任务、布局和绘制。沿链路缩小范围,比把所有问题都归为“网络慢”更有效。
参考资料
- 国内:JavaGuide:从输入 URL 到页面展示到底发生了什么?:借鉴 URL、缓存、连接、请求与渲染的分段流程,组织正文主线,并区分 HTTP/1.1、HTTP/2 与 HTTP/3 的连接条件。
- 国内:JavaGuide:DNS 域名系统详解:依据递归解析器、权威层次与 DNS 缓存,解释正文中谁负责逐级查询及为何无需每次从根开始。
- 国内:小林 coding:键入网址到网页显示,期间发生了什么?:参考 URL 解析与 DNS 起点,说明正文中网页地址各部分与请求目标、主机地址的关系。
- 国外:MDN:Populating the page: how browsers work:Parsing、Render 与 Interactivity 部分说明边接收边解析、子资源发现、布局绘制和主线程交互之间的关系。
- 国外:Chrome for Developers:Inside look at modern web browser, part 2:借鉴响应读取、导航提交与文档加载的区分,说明正文中网络响应成功与后续解析呈现是不同阶段;实现细节需结合浏览器版本。
相关面经
67 篇同程旅行
全栈输入 URL 到页面可交互,完整过程讲一下。
字节跳动
后台开发在浏览器输入一个网站域名,直到页面内容展示出来步骤
字节跳动
前端开发工程师在浏览器输入 URL 回车,完整发生哪些流程?
水滴
AI 全栈工程师一个网址从输入到展示经历哪些过程?
小鹏汽车
嵌入式测试培训生浏览器输入一个 URL 按 Enter 后,请求出去经历了哪些网络过程?
展开剩余 62 篇面经
作业帮
AI 应用开发实习生讲一下一个url输入到页面返回的过程
字节跳动
Agent全栈开发你在做这个前端开发的时候,最后你们的这个项目部署上线,我面向用户去用,然后假如说我作为一个用户去访问你们的这个站点的话,你们这个站点给我一个 URL。一直到我在浏览器里面把这个 URL 打开在浏览器里面,这个过程当中经历了哪些环节?(本质:从输入 URL 到页面完整渲染全链路)
字节跳动
AI全栈实习生从URL到用户浏览器,是一个怎么样的过程?
信锐网科
软件开发PC 访问百度涉及哪些协议和步骤?
CVTE
后端开发工程师浏览器输入一个网址到返回数据中间的过程
字节跳动
Agent开发输入 URL 访问网页的网络过程
虾皮
研发浏览器器输入网址
智元机器人、字节跳动
输入一个域名到拿到最终数据的流程
字节跳动
前端开发工程师从URL到浏览器要经历什么步骤?
字节跳动、米哈游、哔哩哔哩、百度、美团、智驾新程、CVTE
一次url到返回渲染全过程
度小满
AI 全栈开发请简单讲一次 HTTP 请求的执行链路,想到的都可以说,不必过度展开。
字节跳动
后端开发给你一个url链接你会想到什么
字节跳动
Agent 全栈开发从浏览器请求到服务机房全链路
佑驾创新
服务端开发浏览器输入域名完整执行过程
阿里巴巴(淘天)
AI 应用开发工程师简述在浏览器输入 URL 到页面展示完整的全过程
腾讯
搜索一个网站从输入网址到内容渲染经过哪些步骤?
美团
后端开发工程师(AI / Agent 方向)浏览器输入链接点击后发生什么
虾皮
前端开发工程师url解析过程
百度
部署运维工作台研发输入 url 到浏览器渲染出页面,过程如何?
百度
Agent 应用开发工程师输入一个 URL 浏览器到服务端返回页面的完整链路是什么?
字节跳动
Agent开发从浏览器输入一个url到展示界面发生了什么
字节跳动
测试开发工程师(Agent 评测方向)从输入url到页面展示的过程
百度
后端开发工程师7 登录客户端的过程 数据包这么到达服务器?
百度
服务端开发浏览器输入一个 URL 到页面展示,全过程
百度
后端开发HTTP 请求从发出到返回经历哪些过程
百度
后端开发7 浏览器输入url过程 有什么协议
字节跳动
Agent 测评http请求的完整过程
百度
后端开发HTTP 请求从发起到返回,大概经历哪些阶段?
腾讯
前端从 url 到渲染全过程
字节跳动
后端开发工程师(AI / Agent 方向)在浏览器输入域名到页面展示完整流程是什么?
字节跳动
AI 应用开发工程师在浏览器中输入一个 URL 并访问,整个过程中会发生哪些事情?
字节跳动
测试开发输入网址到页面渲染完成,完整流程是什么
百度
SRE 实习生浏览器输入baidu.com的全流程
字节跳动
Agent开发url到页面显示?
字节跳动
AI全栈开发从输入URL到显示页面发生了什么?
蚂蚁集团
Agent 应用开发工程师url解析过程
快手、金山云、蔚蓝云创、深势科技、滴滴
在浏览器的地址栏里输了一串URL之后,到我们看到这个页面,这个中间过程中发生了哪些事情呢
TP-Link(普联)
前端开发工程师(跨端)浏览器输入url
美团
全栈开发工程师点击一个网址到渲染出页面的全流程
腾讯
前端开发工程师URL回车后发生什么(要求知道多少说多少
美团
HTTP 请求流程、状态码、故障一般出在哪?
字节跳动
AI应用开发一个网络请求发出去,到内容显示到用户界面上,经历了哪些完整过程?
字节跳动
后端开发一次完整的 HTTP 请求流程(以访问抖音主页为例)?
滴滴
后端开发浏览器输入URL到页面展示的网络流程?
腾讯
后台开发讲一下输入qq.com到最后显示页面的过程
阿里巴巴
AI应用研发你在浏览器中输入一个url,到返回请求,中间会经过怎么样的一个流程,你可以详细描述一下吗?
蚂蚁集团
AI后端开发在浏览器里输入URL到页面完全展示,中间都发生了什么?
百度
智能体开发URL到页面渲染全过程
腾讯
游戏技术运营 / 运维开发在浏览器输入 HTTPS 的 URL 后,整个网络请求过程中会产生哪些具体的网络协议交互?
腾讯
后台开发说一下访问www.baidu.com这一过程发生了什么,尽可能详细
阿里巴巴
AI 应用研发浏览器输入URL到页面展示的完整过程
百度
前端开发实习生输入 URL 到按下回车键,我们的页面呈现这中间发生了什么东西?
字节跳动、腾讯
打开浏览器输入域名之后的流程
美团
后端开发在浏览器输入,从敲回车到看到搜索框,中间发生了哪些事情?
京东
前端开发在浏览器输入网址后直到页面完全展示出来,背后究竟发生了什么事情?
拼多多、蚂蚁集团
http从服务器发送到主机全流程
百度
后端开发输入url到返回结果的过程
KK集团
Java开发你会理解说他从前端发出请求,在最后到你的后端的这个服务的中间,他会经过哪一些节点呢?包括网关之类的?就是整个链路里你会理解他,他大概是怎么样的?
阿里巴巴
基础设施开发通过什么网络协议,从输入域名到访问网站的全过程
百度
AI Infra输入一个网址的访问流程
字节跳动
前端开发实习生从输入URL到页面显示都发生了什么?你能把这个链路简单的介绍一下吗?
字节跳动
测试开发实习生点开www.bytedance.com发生了什么













