Khác nhau ở HTML được dựng ở đâu và lúc nào:
- CSR (Client-Side Rendering): server trả HTML gần rỗng + bundle JS; trình duyệt render toàn bộ. → TTFB nhanh nhưng first paint chậm, SEO yếu (nội dung phụ thuộc JS). Hợp app nội bộ sau đăng nhập (dashboard).
- SSR (Server-Side Rendering): server dựng HTML theo từng request, gửi trang đã có nội dung rồi hydrate ở client. → SEO tốt, dữ liệu luôn mới, nhưng tải server mỗi request. Hợp trang cá nhân hóa / dữ liệu thay đổi liên tục (feed, giá).
- SSG (Static Site Generation): dựng HTML sẵn lúc build, phục vụ như file tĩnh qua CDN. → Nhanh nhất, rẻ nhất, SEO tốt, nhưng nội dung "đóng băng" tới lần build sau. Hợp blog, docs, landing, marketing.
Biến thể: ISR (regenerate tĩnh theo chu kỳ) và RSC/streaming trong Next.js App Router — trộn được: tĩnh phần ít đổi, server-render phần động, client-render phần tương tác.