从输入 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合并,构建渲染树;最后布局和绘制渲染树,完成页面展示。
相关推荐
拾忆,想起26 分钟前
Dubbo配置方式大全:七种配置任你选,轻松玩转微服务!
服务器·网络·网络协议·微服务·云原生·架构·dubbo
一起学安全技术37 分钟前
C11期作业14(06.14)
web安全·网络安全
pcc_is_world1 小时前
Nginx HTTPS服务器搭建与认证配置
服务器·nginx·https
无名修道院2 小时前
渗透测试新手面试高频 50 题:原理 + 标准答案(2025)- 第三篇
网络安全·面试·职场和发展·渗透测试·内网渗透·免杀
网安老伯3 小时前
什么是网络安全?网络安全包括哪几个方面?学完能做一名黑客吗?
linux·数据库·python·web安全·网络安全·php·xss
xinxinhenmeihao3 小时前
爬虫如何使用代理IP才能不被封号?有什么解决方案?
爬虫·网络协议·tcp/ip
悦悦子a啊4 小时前
[Java]实验--编写TCP客户端程序
java·tcp/ip·php
Moonquake_www4 小时前
WSL2设置桥接网络至主机IP
网络·网络协议·tcp/ip
苏小瀚5 小时前
[JavaSE] 网络原理(HTTP_HTTPS)
网络·tcp/ip·http
HIT_Weston5 小时前
51、【Ubuntu】【Gitlab】拉出内网 Web 服务:http.server 单/多线程分析(三)
ubuntu·http·gitlab