Static site generation
So far, we've seen two different ways of rendering our web apps: on the client side and server side. Next.js gives us a third option called static site generation (SSG).
With SSG, we will be able to pre-render some specific pages (or even the whole website if necessary) at build time; that means that when we're building our web app, there might be some pages that won't change their content very often, so it makes sense for us to serve them as static assets. Next.js will render these pages during the build phase and will always serve that specific HTML that, just like SSR, will become interactive thanks to the React hydration process.
SSG brings a lot of advantages when compared to both CSR and SSR:
- Easy to scale: Static pages are just HTML files that can be served and cached easily by any content delivery network (from now on, CDN). But even if you want to serve them using your own web server, it will result in a very low workload...