从输入 URL 到页面展示到底发生了什么?

  1. 输入网址,解析URL,准备发送HTTP请求

  2. 检查浏览器是否有缓存,若有则直接返回,若没有则进行下一步网络请求

  3. DNS域名解析,网络请求前,进行DNS解析,获取IP地址,若请求协议是HTTPS,则需建立TLS连接,查询ip的顺序:本地浏览器缓存 -> 本地host文件 -> 路由器缓存 -> DNS服务器 -> 根DNS服器

4.建立连接,通过tcp三次握手建立连接

  1. 浏览器发送HTTP请求,构建请求头、请求行等信息,并把cookie等加入到请求头中,发送请求(若是HTTPS,则还需加解密过程)

  2. 服务器处理请求并返回HTTP资源

  3. 断开连接,通过tcp四次挥手断开连接

  4. 浏览器解析并渲染页面

  • 浏览器解析响应头。若响应头状态码为301、302,会重定向到新地址;若响应数据类型是字节流类型,一般会将请求提交给下载管理器;若是HTML类型,会进入下一部渲染流程。
  • 浏览器解析HTML文件,创建DOM树,解析CSS进行样式计算,然后将CSS和DOM合并,构建渲染树;最后布局和绘制渲染树,完成页面展示。
相关推荐
小飞大王66628 分钟前
WebSocket技术与心跳检测
前端·javascript·websocket·网络协议·arcgis
撩妹小狗1 小时前
渗透测试-信息收集篇-上-手动收集
web安全·网络安全
Boxsc_midnight1 小时前
【windows电脑浏览器直接访问虚拟机或云端openclaw的方法】一个不需要HTTPS的安全连接通道(基于SSH)
windows·安全·https·openclaw
hoududubaba2 小时前
ORAN中NB-IoT的基本概念
网络·网络协议
Whoami!2 小时前
⓬⁄₇ ⟦ OSCP ⬖ 研记 ⟧ Linux权限提升 ➱ 利用Cron任务配置不当实现提权
网络安全·信息安全·linux提权·cron任务
五阿哥永琪2 小时前
HTTP中,GET和POST的区别
网络·网络协议·http
wanderist.2 小时前
从 TCP 到 JSON:一次 FastAPI + LLM 生产环境 “Unexpected end of JSON input” 的底层剖析
tcp/ip·json·fastapi
cheems95272 小时前
【网络原理】网络编程基础:TCP Echo Server 的底层逻辑与实现
网络·tcp/ip·php
学不完的11 小时前
haproxy
linux·运维·https·负载均衡·haproxy
Pure_White_Sword17 小时前
bugku-reverse题目-NoString
网络安全·ctf·reverse·逆向工程