# Rendering Strategies at a Glance — Next.js

Source: https://www.skillbyai.com/en/nextjs/i-render

> Static, dynamic and streaming.

## When is the HTML produced?

**Static** rendering produces HTML at build time (or when revalidated) and serves it to everyone: fastest and cheapest, ideal for content that is the same for all users. **Dynamic** rendering produces HTML on each request: needed for personalised or request-specific content (cookies, headers, search params, always-fresh data). **Streaming** sends parts of a page as they become ready, showing a shell quickly while slower data loads. Next.js decides per route based on what the code uses, and the build output tells you which kind each route is.

## The route table from the demo's build

I built the demo store with `next build` (Next.js 16.3.8), started it with `next start` and requested pages with curl; the output is copied from that run, trimmed to the relevant lines. Static routes are marked ○, routes prerendered from generateStaticParams ●, and routes rendered per request ƒ. The API route and /time/dynamic are dynamic; the product pages were prerendered at build time.

```bash
npx next build
```

Output:

```
Route (app)
┌ ○ /
├ ○ /_not-found
├ ○ /admin
├ ƒ /api/products
├ ○ /counter
├ ○ /guestbook
├ ○ /login
├   /products/[id]
│ ├ ● /products/1
│ ├ ● /products/2
│ └ ● /products/3
├ ƒ /time/dynamic
└ ○ /time/static

ƒ Proxy (Middleware)

○  (Static)   prerendered as static content
●  (SSG)      prerendered as static HTML (uses generateStaticParams)
ƒ  (Dynamic)  server-rendered on demand
```

## Read the build output

After every significant change, check the route table: a page that unexpectedly turned dynamic is a performance regression.

**Quiz:** What does ○ (Static) mean in the build output?

- [ ] It only runs in the browser
- [ ] It renders on every request
- [ ] It failed to build
- [x] The route was prerendered as static content at build time

*Answer:* The route was prerendered as static content at build time. Static HTML is served to every visitor.
