← 术语图鉴

术语 · 网页与浏览器

服务端渲染

Server-Side Rendering · 也叫 SSR

每次有人访问时,服务器现场运行代码,生成这一页的完整 HTML 再发回去。

你可能会说:

  • “页面内容每个人看到的都不一样,又想让搜索引擎看到,怎么办?”
  • “Next.js 说它能在服务器上渲染,这和普通网站有什么不同?”

它是什么

服务端渲染和静态生成一样,发给浏览器的都是完整 HTML;区别在于生成的时机:静态生成在构建时做一次,服务端渲染在每次请求时做。

所以它能处理"每个人看到的不一样"和"内容时刻在变"的页面,比如个人主页、实时库存。代价是必须一直运行一台服务器,每个请求都要计算,成本和出故障的机会都更高。

很多框架支持混着用:大部分页面静态生成,少数动态页面服务端渲染。

打个比方

点单后现炒:永远是热的,还能按客人口味调;但厨房必须一直有人,每一单都要花时间。

在这个网站里

本站没有用服务端渲染:内容不因人而异,静态生成就够了。需要实时回答的 AI 导师是一个单独的后端接口,而不是把整个网站改成服务端渲染。

容易搞混的地方

常见误解

服务端渲染一定比静态生成高级

正确理解

内容不因人而异时,静态生成更快、更便宜、更少出错;服务端渲染是为动态内容付出的代价。

你可以这样告诉 AI

复制下面这段,贴给你的 AI

只有需要实时数据或因人而异的页面用服务端渲染,其余页面静态生成;请列出每个页面属于哪一种,以及为什么。

对比着看

  • 静态生成——构建时就把每个网址对应的完整 HTML 生成好,有人访问时直接发出去。
  • 单页应用——整个网站只有一个 HTML 空壳,所有页面都在浏览器里用 JavaScript 现场画出来。

在这些课里出现