首页/新闻资讯/正文详情

输入网址后发生了什么:从HTTPS请求到页面绘制

发布时间:2026/11/5 9:57:44 来源:云帆数科 栏目:资讯中心
输入网址后发生了什么:从HTTPS请求到页面绘制
在地址栏输入https://example.com/products/42后浏览器可能直接使用缓存也可能复用已有连接。网络请求使用HTTP/3时还会走QUIC而不是先建立TCP连接。所以这道题适合先限定情境再顺着一条请求讲。下面以需要联网获取页面、建立新的HTTPS连接为主线再说明缓存、连接复用和协议版本会改变哪几步。图是简化的关系示意不代表所有阶段串行执行也不是一次请求的实测耗时图。URL决定请求什么不等于服务器上的文件路径浏览器会解析协议、主机、端口、路径、查询等信息。对于上面的地址https说明访问HTTPS资源。example.com是需要定位服务的主机名。/products/42是资源路径可能由后端路由处理也可能由静态文件或代理规则响应。没有显式端口时HTTP和HTTPS的默认端口分别是80、443。路径为空通常按/处理是否返回index.html、执行Controller或再重定向是服务端的映射策略浏览器不会替服务器挑选一个默认文件。RFC 9110 URI定义浏览器还需要判断请求是否能由HTTP缓存、Service Worker等已有机制处理。这里继续讨论需要访问网络的情况。DNS提供地址查询过程不必每次走到根服务器浏览器或系统的解析机制需要取得主机名对应的地址结果可能包含IPv4、IPv6地址也可能经别名等记录继续解析。缓存命中时不需要重新从根服务器逐级查询。需要递归解析时递归解析器会结合已有缓存向相关DNS服务器继续查询。根、顶级域和权威服务器的分工可以帮助理解这一过程但它们不是浏览器每次都依次直连的一张固定清单。RFC 1034hosts、系统缓存、浏览器缓存、加密DNS以及代理分别怎样参与取决于实现和配置。面试中把它们背成放之四海而皆准的严格顺序容易与真实环境对不上。解析结果也可能指向CDN或负载均衡入口。它不一定是最终运行Java业务服务的那台机器。HTTPS连接里TCP与TLS要分别讲对于基于TCP的新建HTTPS连接浏览器先建立TCP连接再进行TLS协商。TLS用于验证服务端身份、协商密钥和算法使HTTP内容能够受到加密与完整性保护。具体握手行为还与TLS版本、会话恢复等条件有关不能用一个固定往返次数概括。TLS 1.3规范HTTP版本会改变传输方式使用情境连接层的主要区别HTTP/1.1或HTTP/2的HTTPS新连接基于TCP并使用TLSHTTP/2可以在一个连接上承载多个流HTTP/3HTTP语义映射到QUICQUIC基于UDP并集成TLS安全握手不是先做TCP三次握手已有可复用连接本次请求可能直接使用连接不会再重复完整建连过程浏览器采用哪一种需要结合服务端支持、协议发现、网络条件和协商结果判断。不能因为地址是https://就断言一定使用HTTP/1.1或一定新建TCP连接。HTTP/3规范请求怎样经过本地链路与路由器应用数据要通过传输层、IP网络和具体链路发送。以IPv4以太网为例本机根据路由决定下一跳目标在远端网络时以太网帧先发往下一跳网关目标MAC不是远端网站服务器的MAC。需要时通过ARP解析当前链路上的下一跳地址。IPv6采用的邻居发现机制不同不能把ARP推广到所有网络。路由器继续转发时会按出站链路重新封装。在不做地址转换等改写的普通IP转发中端到端的源、目标IP可以保持不变MAC随链路改变IPv4的TTL也会递减。经过NAT时地址甚至端口可能被转换。因此“整个途中IP永远不变”需要加上适用前提。IPv4路由要求、NAT说明这些网络动作不是等HTTP请求写好后才第一次发生前面的DNS、TCP和TLS通信同样要经过网络。分层是在解释每份数据怎样传输不是一组只执行一次的独立步骤。服务端响应与浏览器渲染会继续交错以HTTP/1.1的文本形式表示请求可以写成GET /products/42 HTTP/1.1 Host: example.com Accept: text/html这是报文语义示例。HTTP/2、HTTP/3使用各自的帧和字段编码不能把上面三行当成它们在网络中的原始字节格式。入口服务器可能直接返回静态资源也可能把请求交给后端应用。应用读取数据、生成内容后返回状态码、响应头和响应体如果返回重定向浏览器还需要按相应规则处理后续请求。取得HTML后浏览器解析文档构建DOM解析样式形成样式信息计算布局并绘制必要时再进行合成。它会在解析期间发现样式、脚本、图片等资源继续发起请求。下载、解析和部分渲染可以交错推进脚本也可能阻塞解析或改变文档导致后续样式、布局和绘制变化。资源请求会使用缓存和连接复用HTTP/2、HTTP/3还支持多路复用。不能说每张图片都要重新完成DNS、建连和整套握手也不能把“页面显示完”直接当作关闭连接的信号。浏览器渲染过程用Network面板把这些阶段对应到现象在Chromium浏览器的开发者工具中打开Network后访问一个允许测试的页面。对主文档请求重点查看Protocol列实际使用的是HTTP/1.1、h2还是h3。需要时从表头菜单打开该列。Timing有没有DNS、建立连接等阶段时间主要花在哪里。复用连接或命中缓存时部分阶段可能不再出现。响应来源与瀑布图内容是否来自缓存或Service WorkerHTML、样式、脚本、图片的请求怎样重叠。Waiting / TTFB包含等待首字节的网络与服务端时间不等于纯粹的数据库耗时。看到某个阶段很长只能先缩小排查范围随后还要结合服务端日志或链路追踪判断。Chrome Network时序说明讲清这道题时可以先给出当前情境下的主线再挑一个实际观察解释“为什么某一步没有出现”。这样既能说明协议也能把回答接到性能分析和故障排查上。修订于2026年11月1日移除笔记对话残留补HTTPS、HTTP/3、缓存复用、URL映射与地址变化的条件。

相关推荐

【12】火焰烟雾数据集(有v5/v8模型)/YOLO火焰烟雾检测
【12】火焰烟雾数据集(有v5/v8模型)/YOLO火焰烟雾检测

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 10:45:42

【9】工程车辆数据集(有v5/v8模型)/YOLO工程车辆检测
【9】工程车辆数据集(有v5/v8模型)/YOLO工程车辆检测

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 10:45:42

Forward与Redirect:一次请求内部交接,还是让浏览器重新请求
Forward与Redirect:一次请求内部交接,还是让浏览器重新请求

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 3:54:21

DouK-Downloader 实操指南:从 Cookie 配置到 Docker 部署的抖音/TikTok 批量下载与数据采集
DouK-Downloader 实操指南:从 Cookie 配置到 Docker 部署的抖音/TikTok 批量下载与数据采集

DouK-Downloader 实操指南:从 Cookie 配置到 Docker 部署的抖音/TikTok 批量下载与数据采集 【免费下载链接】TikTokDownloader 抖音 / TikTok 平台作品下载/数据采集工具 项目地址: https://gitcode.com/GitHub_Trending/ti/TikTokDownloader 动手前&#x… · 2026/11/5 9:57:30

Wan2GP 安装完整指南:6GB 显存也能跑视频生成,附高频踩坑绕法
Wan2GP 安装完整指南:6GB 显存也能跑视频生成,附高频踩坑绕法

Wan2GP 安装完整指南:6GB 显存也能跑视频生成,附高频踩坑绕法 【免费下载链接】WanGP A fast AI Video Generator for the GPU Poor. Supports Minimax H3, LTX-2.3/2.5, Wan 2.1/2.2, Qwen Image 1/2, Krea 2, Hunyuan Video, LTX Video and Flux. 项… · 2026/11/5 9:57:30

一条命令装进 DeepSeek Harness:dsh-market 插件市场的四个真实场景
一条命令装进 DeepSeek Harness:dsh-market 插件市场的四个真实场景

一条命令装进 DeepSeek Harness:dsh-market 插件市场的四个真实场景 【免费下载链接】dsh-market The plugin market inside DeepSeek Harness — browse, search, one-click install DSH 可视化插件市场 项目地址: https://gitcode.com/gh_mirrors/ds/dsh-marke… · 2026/11/5 9:57:30

提升PR效率10倍:CodiumAI PR-Agent代码建议功能深度剖析
提升PR效率10倍:CodiumAI PR-Agent代码建议功能深度剖析

提升PR效率10倍:CodiumAI PR-Agent代码建议功能深度剖析 【免费下载链接】pr-agent 🚀 PR Agent: The Original Open-Source PR Reviewer. This project is not the Qodo free tier. 项目地址: https://gitcode.com/GitHub_Trending/pr/pr-agent … · 2026/11/5 9:48:28

【亲测免费】 Distil-Whisper: distil-large-v2的安装与使用教程
【亲测免费】 Distil-Whisper: distil-large-v2的安装与使用教程

Distil-Whisper: distil-large-v2的安装与使用教程 【免费下载链接】distil-large-v2 项目地址: https://ai.gitcode.com/hf_mirrors/distil-whisper/distil-large-v2 引言 随着语音识别技术在各个领域的广泛应用,高效、准确的语音识别模型成为了研究人员和… · 2026/11/5 9:46:26

10款开源Android游戏完整指南:从离线解谜到Roguelike地牢,按上手成本一次选齐
10款开源Android游戏完整指南:从离线解谜到Roguelike地牢,按上手成本一次选齐

10款开源Android游戏完整指南:从离线解谜到Roguelike地牢,按上手成本一次选齐 【免费下载链接】open-source-android-apps Open-Source Android Apps 项目地址: https://gitcode.com/gh_mirrors/op/open-source-android-apps 本清单收录10款可装进… · 2026/11/5 9:46:26

双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 3:16:49

STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 6:59:29

DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 7:02:38

多智能体协作系统架构设计与实践优化
多智能体协作系统架构设计与实践优化

1. 多智能体协作系统的时代背景2017年Transformer架构的诞生彻底改变了人工智能的发展轨迹。当行业还沉浸在单一大模型带来的性能突破时,Anthropic的研究团队已经将目光投向了更前沿的领域——如何让多个智能体通过协作产生超越单体能力的系统智能。这就像交响乐团中… · 2026/11/5 0:00:39

大模型系统性入门实战指南:从原理到部署微调的全链路路线
大模型系统性入门实战指南:从原理到部署微调的全链路路线

提到大模型的系统性入门,我先说个结论:这事真不难,难的是资料太散、路线太多,今天这个框架明天那个工具,新人很容易在“收藏夹吃灰”和“教程看到一半放弃”之间反复横跳。市面上关于大模型的内容少说有几十万篇&#… · 2026/11/5 0:00:39

鸿蒙文件系统沙箱机制解析与开发实践
鸿蒙文件系统沙箱机制解析与开发实践

1. 鸿蒙文件系统沙箱机制深度解析作为一名从Android转向鸿蒙开发的工程师,我深刻体会到文件系统访问是迁移过程中最先遇到的"拦路虎"。在Android上运行良好的文件读写代码,在鸿蒙真机环境却频频出现文件写入后神秘消失或直接抛出权限拒绝错误的… · 2026/11/5 0:00:39

双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 3:16:49

STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 6:59:29

DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 7:02:38

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码