Server result
The browser does not receive Server Component source or its server-only dependencies.
Quick reference · Print-friendly
Classify capabilities, cut the module graph, minimize the wire.
| Capability | Server Component | Client Component |
|---|---|---|
| Direct database/filesystem access | Yes, when the server environment provides it | No; use a server API or Server Function |
| Async component with awaited data | Yes | Receive data, promises, or fetch through client mechanisms |
| State and event handlers | No | Yes |
| Effects and browser APIs | No | Yes |
| Source shipped in client bundle | No | Yes, with transitive client dependencies |
| Can contribute to initial HTML | Yes | Yes, in frameworks that prerender/SSR them |
| Props crossing server → client | Produces supported serialized values/elements | Receives them over the RSC boundary |
| Context consumption | Cannot consume client context | Yes; place provider as deep as practical |
The browser does not receive Server Component source or its server-only dependencies.
The payload identifies where Client Components belong and which client modules implement them.
Supported serialized props become observable client data. Treat the boundary like an API.
Execution/payload partition versus initial HTML generation. They compose.
No. Server Components can run during a build or on a live server.
No. Client code ships and hydrates, but may also participate in initial server HTML.
'use server' component?”No. It marks a callable async Server Function; Server Components have no directive.