Traditionally every React component runs in the browser, which means shipping all their JavaScript to the client and fetching data over the network after the page loads. React Server Components (RSC) change this: some components render on the server, ship no JavaScript to the browser, and can access backend resources — databases, files, secrets — directly. This is one of React 19's most significant shifts.
The model splits components into two kinds. Server Components run only on the server, can be async and await data directly, and send their rendered output to the client without their code. Client Components run in the browser, can use state, effects, and interactivity, and are marked with a 'use client' directive. Understanding the boundary between them is the key skill.
Server Components are primarily used through frameworks like Next.js, which handle the server rendering and the boundary plumbing. This lesson covers what Server and Client Components are, the rules of the boundary between them, and the benefits — less JavaScript, direct data access, better security — and trade-offs of this architecture.