首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >我点一下按钮,中间发生了什么:陪小迪走一遍从浏览器到数据库的全链路

我点一下按钮,中间发生了什么:陪小迪走一遍从浏览器到数据库的全链路

作者头像
姚杨
发布于 2026-10-05 22:59:57
发布于 2026-10-05 22:59:57
00
举报
概述
小迪问:我点一下按钮,中间到底发生了什么?从浏览器的 DNS 与握手,到 Nginx 的 location 分流、PHP-FPM 的 Unix socket、框架的十来个 include、路由的一个个 if,再到 MariaDB 与 Redis 的分工、unit_of_work 的乐观锁,最后浏览器渲染完,页面上的 JS 又把整条链子走一圈。十三道关逐关拆开。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

目录
  • 起因
  • 全景:一次请求要过十三道关
  • 第 1 关:浏览器发出去的不是一个请求
  • 第 2 关:云服务器门口那道墙
  • 第 3 关:Nginx 接单,但它先做减法
  • 第 4 关:PHP-FPM 和那条 Unix socket
  • 第 5 关:框架启动,十来个 include
  • 第 6 关:路由不是配置,是代码
  • 第 7 关:MariaDB 和 Redis 各管什么
  • 第 8 关:写操作,闭包跑完自动落库
  • 第 9 关:回程,页面不是一次请求画出来的
  • 第 10 关:页面上的 JavaScript
    • 链子在这儿拐回来
  • 第 11 关:不该待在请求链路里的活
  • 收尾:让小迪复述一遍
  • 附:排查清单
  • 想自己走一遍?
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档