一句话解释:前端渲染是指“网页内容到底在谁的设备上、什么时间被拼装成最终画面”的技术选择——是在用户浏览器里现场组装(CSR),还是在服务器上提前拼好再送过来(SSR/SSG/ISR),这直接决定了独立站的打开速度、Google 抓取效果和转化率。
生活化类比
把网站想象成一家餐厅:
- CSR(客户端渲染):客人坐下后,服务员只给一张空白菜单和一套厨具,让客人自己现做。第一道菜等很久,但后续加菜很快。
- SSR(服务端渲染):厨房接到订单立刻现炒,炒好端上桌。每次点单都要等厨房,但上桌就是热的。
- SSG(静态生成):餐厅提前把 100 道招牌菜全部做好放保温柜,客人来了直接拿。极快,但菜品不能临时改。
- ISR(增量静态再生):保温柜里的菜每隔一段时间自动换新,既有预制的速度,又不会卖过期菜。
对电商来说,首屏那 1 秒决定了用户是留下还是关掉,而搜索引擎爬虫能不能“看到”你的商品,也全看这套机制。
核心概念与关键指标
渲染方式本质在权衡三件事:TTFB(首字节时间)、FCP/LCP(首次/最大内容绘制)、可索引性。
- CSR:TTFB 极低(返回空 HTML),但 LCP 差,因为要等 JS 下载、执行、再发 API 请求。爬虫可能抓到空白页。
- SSR:TTFB 较高(服务器实时渲染),但 LCP 好,HTML 里直接含内容,SEO 友好。
- SSG:TTFB 极低(CDN 直接返回静态 HTML),LCP 最优,但内容更新需重新构建。
- ISR:结合两者,静态返回 + 后台按 revalidate 周期再生。
核心公式(简化):
用户可见时间 ≈ 网络传输 + 渲染计算 + 数据获取
CSR 把“渲染计算 + 数据获取”推给浏览器;SSR/SSG 把它放在服务器/CDN 侧完成。
四种渲染方式对比
| 维度 | CSR | SSR | SSG | ISR |
|---|---|---|---|---|
| 渲染位置 | 浏览器 | 服务器(每次请求) | 构建时 | 构建时 + 后台再生 |
| TTFB | 极低 | 中高 | 极低 | 极低 |
| LCP/首屏 | 差 | 好 | 极好 | 极好 |
| SEO 友好度 | 差 | 好 | 极好 | 极好 |
| 内容实时性 | 高 | 高 | 低 | 可配置 |
| 服务器成本 | 低 | 高 | 极低 | 低 |
| 典型框架 | React SPA | Next.js SSR | Gatsby/Hugo | Next.js ISR |
| 适合页面 | 后台/登录后 | 个性化页面 | 博客/落地页 | 商品/分类页 |
应用场景与数据
1. 商品详情页用 ISR:某 Shopify Plus 独立站将 5 万 SKU 商品页改为 ISR(revalidate: 60),LCP 从 3.8s 降到 1.4s,自然搜索流量 3 个月增长 42%。
2. 首页/营销落地页用 SSG:纯静态首页配合 CDN,TTFB 可压到 50ms 以内,相比 CSR 首屏提升 60%+。
3. 登录后账户页用 CSR:无需 SEO,交互频繁,CSR 反而更省服务器成本,页面切换无刷新。
4. Google 数据参考:移动端 LCP 从 2.5s 优化到 1.5s,电商转化率平均提升 8%–15%(Google/Deloitte 研究)。
选型口诀:内容要被抓 → SSG/ISR;内容要实时且个性化 → SSR;登录后交互 → CSR。
常见误区
- “SSR 一定比 CSR 快”:错。SSR 服务器若慢或未缓存,TTFB 反而拖垮体验;CSR 在二次导航时更快。
- “用了 Next.js 就自动 SEO 好”:错。若组件内数据靠 useEffect 拉取,首屏 HTML 仍是空的,爬虫照样抓不到。
- “SSG 内容永远不更新”:ISR 已解决,可定时或按需再生。
- “渲染方式只能选一种”:现代框架支持按路由混合,首页 SSG、商品页 ISR、账户页 CSR 完全可行。
相关术语
CSR、SSR、SSG、ISR、Hydration(水合)、TTFB、LCP、CDN、Edge Rendering、RSC(React Server Components)、Core Web Vitals、SEO 可索引性。
