Server components in Next.js run exclusively on the server. When a server component is called, it can perform server-only tasks such as fetching data from APIs or databases. The component then renders JSX into HTML on the server. This HTML is sent to the client, which then hydrates any interactive parts. Server components cannot use browser-specific objects like window or document because these do not exist on the server. The execution table shows the step-by-step process from starting the component, fetching data, rendering HTML, sending it to the client, and client hydration. The variable tracker shows how variables like the fetched data and parsed JSON change during execution. Key moments clarify common confusions about what can and cannot run in server components. The visual quiz tests understanding of these steps and concepts.