Zestawy rozmówBlog

Twoja wymarzona praca? Lets Git IT.
Interaktywna platforma przygotowująca do rozmów technicznych dla nowoczesnych programistów.

XGitHub

Platforma

  • Kategorie

Zasoby

  • Blog
  • O aplikacji
  • FAQ
  • Sugestie

Prawne

  • Polityka prywatności
  • Regulamin

© 2026 LetsGit.IT. Wszelkie prawa zastrzeżone.

LetsGit.IT/Kategorie/Next.js
Next.jsmedium

SSR vs SSG vs ISR — jaka jest różnica w Next.js?

Tagi
#ssr#ssg#isr#caching
Wróć do kategoriiPrzejdź do quizu

Odpowiedź

SSR renderuje przy każdym żądaniu, SSG renderuje na etapie builda, a ISR odświeża stronę w tle po czasie revalidate. To kompromis między świeżością danych, szybkością i czasem builda.

Odpowiedź zaawansowana

Głębiej

Te pojęcia opisują *kiedy* generujesz HTML i jak kontrolujesz świeżość.

  • **SSR (Server-Side Rendering)**: render przy każdym żądaniu. Dobre dla treści dynamicznej/spersonalizowanej, ale bywa wolniejsze i droższe w skali.
  • **SSG (Static Site Generation)**: render na etapie builda. Bardzo szybkie w runtime (CDN), ale dane są tak świeże jak ostatni build.
  • **ISR (Incremental Static Regeneration)**: serwujesz cache/statykę i regenerujesz w tle po czasie revalidate.

Mapowanie w App Router

W App Router to głównie kwestia cache/revalidate:

  • statyczny output + cachowane dane → SSG,
  • `revalidate` → ISR,
  • `no-store` / dynamiczny segment → SSR.

Przykład

// Odświeżaj tę trasę co 60s (ISR)
export const revalidate = 60

// Per-request (SSR)
await fetch(url, { cache: 'no-store' })

Praktyka

  • SSG/ISR dla marketingu/dokumentacji i treści, która może być lekko nieaktualna.
  • SSR dla dashboardów zależnych od autoryzacji i stron per użytkownik.

Typowe pułapki

  • Przypadkowe wymuszenie SSR przez użycie `cookies()`/`headers()` w trasie, która miała być statyczna.
  • Nadużywanie SSR i utrata korzyści z CDN.
  • Zbyt długi revalidate dla danych, które muszą być świeże.

Powiązane pytania

Next.js
Trasy dynamiczne: co robi `generateStaticParams`?
#nextjs#ssg#dynamic-routes
Next.js
Renderowanie statyczne vs dynamiczne — jak wymusić dynamiczne i po co?
#ssr#dynamic#cache
Next.js
Co powoduje hydration mismatch w React/Next.js i jak to naprawić?
#hydration#ssr#react
Next.js
Wyjaśnij cache i rewalidację w Next.js (fetch cache, revalidatePath).
#caching#revalidation#fetch
Next.js
Czym jest ISR (Incremental Static Regeneration) i kiedy go używać?
#isr#ssg#caching
Next.js
SSR vs SSG?
#nextjs#rendering#ssr