返回术语

前端

服务端渲染SSR

你可能会问

服务端渲染到底是什么?页面是在谁的电脑上「拼」出来的?

简单来说

在服务器上先把页面拼装成 HTML 再发给浏览器,第一眼就能看到内容。

动态说明同一个页面,两种拼法SSR
服务器上

数据已查好

模板已填充

HTML已拼装

页面在服务器拼好
同一时刻,两种首屏
客户端渲染先送空壳再慢慢拼;服务端渲染把拼好的页面直接送来。

01 · 先这样理解

把抽象概念放进真实场景

在服务器上先把页面拼装成 HTML 再发给浏览器,第一眼就能看到内容。

换个角度想

SSR 像外卖送来的成品菜,到手就能吃;客户端渲染像送来一箱食材加菜谱,得自己下厨才有得吃。菜是同一道,差别在于在哪儿做。

02 · 点击演示

CSR 和 SSR,首屏差在哪?

突出显示的部分,就是当前概念在整条流程中负责的位置。

  1. GET /blog

    请求到达服务器

    当前步骤
  2. 在服务器上完成

    数据已查好

    模板已填充

    HTML已拼装

    等待进入
  3. CSR · 还在拼
    SSR · 已经能看
    等待进入
1 / 4

Request · 浏览器请求页面

03 · 放进真实任务

什么时候会遇到它

内容站点

博客、文档、商品页:以内容为主的页面首选服务端渲染。

SEO 需要

搜索引擎抓到的是拼好的 HTML,收录更可靠。

弱网首屏

网络差的设备上,直出的 HTML 比等 JS 拼页面快得多。

04 · 想一想

用一个问题检查理解

同一个页面,CSR 版用户先盯两秒白屏,SSR 版立刻见到内容。省下的工作去哪了?

查看答案

没有消失,是搬家了:拼页面的活从用户的浏览器搬到了服务器。用户少等,代价是服务器每次请求都要干活——所以纯静态内容常再进一步,构建时就提前拼好(SSG)。

老师提醒

最容易踩的坑

SSR 不是万能药:每个请求都消耗服务器算力,页面「可见但未水合」时依然点不动。内容型页面收益最大,重交互的应用要权衡。

⌘K搜索知识库

最近收录

正在载入知识索引…