浏览器一次完整的请求过程

  1. 浏览器检验URL, 判断协议, 解析域名

    1. dns 域名解析 : 浏览器缓存 - 本地host文件 - 本地dns 缓存 - 运营商dns 缓存 - 根域名服务器 - 顶级域名服务器 - 二级域名服务器 - ip返回到浏览器 (512字节) - 使用ip地址发起请求
  2. 建立 tcp 连接

    1. 三次握手 syc(发起同步) -> ack + syc (响应上一个请求,再发一个同步) -> ack + syc(响应上一个请求,确认同步)
  3. 建立http 连接

    1. http 协议

      1. 按请求格式解析请求内容

      2. http版本

      3. 请求方法

      4. 请求参数

      5. 请求头

    2. https 协议 ( http +ssl )

      1. ssl 协议

        1. 证书加密 : 非对称加密

        2. 数据加密 : 对称加密

  4. 请求到达反向代理服务器, 根据配置的负载算法进行分配, 请求转发到对应的服务器

  5. 服务器的php-fpm中, master进程负责监听请求, 空闲的worker竞争accpt请求获得本次请求处理; 如果没有空闲的worker, 根据fpm的配置回收空闲的子进程, 或者创建新的子进程

  6. worker连接到php程序, 接收并解析请求参数

  7. php接收到请求, 假设使用了mvc框架, 会进行路由解析

  8. (待补充)

  9. 找到对应的控制器, 方法

  10. 因为php是解释型语言, 系统会读取对应的php脚本到缓冲区

  11. Zend引擎对脚本进行语法分析, 输出Opcode(操作码), 如果开启了opcache对操作码进行缓存

  12. 执行操作码, worker得到执行结果, 关闭请求; worker又回到空闲状态, 等待下一次请求

  13. master负责监听请求, 使用共享内存读取worker状态, 监听到worker完成请求

  14. master将结果转发给反向代理服务器

  15. 反向代理服务器返回数据到用户主机

  16. 浏览器根据文件头决定行为, 下载文件, 渲染 还是解析脚本

  17. 样式相关

    1. 浏览器解析html 会生成DOM树, 请求资源文件

    2. css 解析样式表,生成CSS规则树

    3. 将 CSS Rule Tree 附着到DOM Tree 上

    4. 发生渲染

      1. 发生reflow : 布局

      2. repaint (重排和重绘) : 外观被改变

  18. js 脚本 : 和dom 同步解析

worker处理请求的细节: https://blog.csdn.net/ST091ZSC/article/details/102150576


补充: 使用 dig +traceroute命令查看dns解析的过程

  1. www.taobao.com. 等价于www.taobao.com, 省略了最高级域名

  2. www.taobao.com. 指向别名 www.taobao.com.danuoyi.tbcache.com.

  3. www.taobao.com.danuoyi.tbcache.com.解析得到两个ip : 47.246.16.234 和 47.246.16.233 , 默认使用第一个

  4. cname 指的是别名记录, 使用cname可以解耦ip和访问域名的联系, 且支持了多域名访问同一ip地址

  5. A记录, 指的是域名和ip之间的映射

  6. NS记录, 指的是域名对应的dns解析器的映射

  7. AAAA记录会将域名指向ipv6的ip地址

➜  ~ dig www.taobao.com

; <<>> DiG 9.9.4-RedHat-9.9.4-61.el7 <<>> www.taobao.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 760
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;www.taobao.com.                        IN      A

;; ANSWER SECTION:
www.taobao.com.         75      IN      CNAME   www.taobao.com.danuoyi.tbcache.com.
www.taobao.com.danuoyi.tbcache.com. 60 IN A     47.246.16.234
www.taobao.com.danuoyi.tbcache.com. 60 IN A     47.246.16.233

;; Query time: 1 msec
;; SERVER: 183.60.82.98#53(183.60.82.98)
;; WHEN: Mon Dec 06 14:42:13 CST 2021
;; MSG SIZE  rcvd: 109

接着trace路径

D:\>tracert -h 100 -4 www.taobao.com

Tracing route to www.taobao.com.danuoyi.tbcache.com [14.215.57.233] # 解析转移到www.taobao.com.danuoyi.tbcache.com这个别名,说明www.taobao.com.danuoyi.tbcache.com还存在其他ip
over a maximum of 100 hops:

  1     *        *        *     Request timed out.
  2     2 ms     1 ms     1 ms  172.17.1.137
  3     2 ms     1 ms     1 ms  10.0.16.1
  4     1 ms     1 ms     1 ms  172.17.140.109
  5     2 ms     1 ms     1 ms  172.17.140.210
  6     1 ms    <1 ms    <1 ms  172.17.1.1
  7     1 ms     1 ms     1 ms  10.10.10.1
  8     1 ms     *        *     172.16.1.2
  9     4 ms     3 ms     3 ms  172.16.1.244
 10     2 ms     4 ms     2 ms  172.16.3.1
 11     *        5 ms     4 ms  172.16.3.12
 12     3 ms     2 ms     2 ms  172.16.1.253
 13     *        *        *     Request timed out.
 14     5 ms     5 ms     5 ms  202.104.167.225
 15     8 ms     *       11 ms  125.176.37.59.broad.dg.gd.dynamic.163data.com.cn [59.37.176.125]
 16     6 ms     5 ms     5 ms  113.98.6.57
 17    33 ms     8 ms     8 ms  113.108.208.26
 18    10 ms    10 ms     9 ms  94.96.135.219.broad.fs.gd.dynamic.163data.com.cn [219.135.96.94]
 19    11 ms    11 ms    11 ms  14.215.32.178
 20     7 ms     8 ms     7 ms  14.215.57.233
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,905评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,140评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,791评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,483评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,476评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,516评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,905评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,560评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,778评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,557评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,635评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,338评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,925评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,898评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,142评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,818评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,347评论 2 342

推荐阅读更多精彩内容