从输入 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合并,构建渲染树;最后布局和绘制渲染树,完成页面展示。
相关推荐
程序猿阿伟36 分钟前
《从TCP到WebSocket:Discord静默断流的七层排查指南》
websocket·网络协议·tcp/ip
开发者联盟league41 分钟前
docker登录失败解决方法。http: server gave HTTP response to HTTPS client
http·docker·https
逆境不可逃44 分钟前
【WebSocket 01】 入门原理剖析,手写群发消息、私聊会话功能
网络·websocket·网络协议
awu的Android笔记1 小时前
限速/丢包/乱序/重复/篡改:Android 弱网模拟的 5 把利刃
android·tcp/ip
IT大白鼠1 小时前
GRE协议原理与华为设备配置实践
网络·网络协议·华为
米丘1 小时前
HTTP 传输层 TCP 三次握手 / 四次挥手
前端·网络协议·http
梦里捡到一只猫丶1 小时前
简单的Payload加密方法
笔记·网络安全
四代水门1 小时前
计算机网络之——TCP/UDP协议
tcp/ip·计算机网络·udp
酿情师1 小时前
区块链网络与跨链操作03:矿池网络协议
网络·网络协议·区块链
草莓熊Lotso2 小时前
【Linux网络】深入理解 HTTP 协议(三):静态资源服务、状态码与重定向实战
linux·运维·服务器·网络·c++·http