SSR 是把整棵组件树在服务端渲染成 HTML 字符串,客户端仍需下载全部 JS 并 hydrate;RSC 是组件级服务端渲染:组件在服务端执行,输出可序列化的 UI 描述(RSC payload)流式传给客户端,组件代码本身不进入客户端 bundle。两者可叠加:RSC 负责数据与结构,SSR 生成首屏 HTML,客户端只 hydrate 交互组件。

RSC 的优势是零 bundle 体积、可直接访问数据库、自动代码分割;代价是服务端组件不能用 state、effect 与事件,交互必须放进标记 'use client' 的客户端组件。易错点:'use client' 标记的是模块边界而非「只在客户端跑」,客户端组件仍会在服务端预渲染 HTML;跨边界传递的 props 必须可序列化。追问:RSC payload 与 SSR HTML 如何在同一请求里流式配合、缓存与 revalidate 策略。