从输入 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合并,构建渲染树;最后布局和绘制渲染树,完成页面展示。
相关推荐
2301_780789666 小时前
高防 IP 的选择与配置确保业务稳定性
网络·网络协议·tcp/ip
willhuo7 小时前
基于xray的匿名、授权、IP白名单代理访问研究
服务器·网络·tcp/ip
云安全干货局8 小时前
服务器被攻击后如何快速恢复?数据备份 + 应急响应手册
网络·网络安全·云服务器·弹性云服务器
❆VE❆8 小时前
WebSocket与SSE深度对比:技术差异、场景选型及一些疑惑
前端·javascript·网络·websocket·网络协议·sse
simon_skywalker9 小时前
软考 信息安全笔记(一)
网络安全
科技块儿9 小时前
反羊毛实战复盘:IP查询+设备指纹联动风控方案
网络·网络协议·tcp/ip
掘根9 小时前
【仿Muduo库项目】HTTP模块3——HttpContext子模块
网络·网络协议·http
瓦尔登湖懒羊羊9 小时前
到底能不能把HTTP1.0讲明白了
http
小李独爱秋11 小时前
计算机网络经典问题透视:TLS协议工作过程全景解析
运维·服务器·开发语言·网络协议·计算机网络·php
不穿格子的程序员12 小时前
计算机网络篇1:OSI + HTTP进化史 + 三次握手四次挥手
网络协议·计算机网络·http