Source: https://developers.google.com/web/updates/2019/02/rendering-on-the-web
Rendering
- SSR: Server-Side Rendering – rendering a client-side or universal app to HTML on the server.
- CSR: Client-Side Rendering – rendering an app in a browser, generally using the DOM.
- static rendering
- Rehydration: “booting up” JavaScript views on the client such that they reuse the server-rendered HTML’s DOM tree and data.
- Prerendering: running a client-side application at build time to capture its initial state as static HTML.
Performance
- TTFB: Time to First Byte – seen as the time between clicking a link and the first bit of content coming in.
- FP: First Paint – the first time any pixel gets becomes visible to the user.
- FCP: First Contentful Paint – the time when requested content (article body, etc) becomes visible.
- TTI: Time To Interactive – the time at which a page becomes interactive (events wired up, etc)
Server Rendering
Server rendering generates the full HTML for a page on the server in response to navigation. This avoids additional round-trips for data fetching and templating on the client, since it’s handled before the browser gets a response.
Server rendering generally produces a fast First Paint (FP) and First Contentful Paint (FCP). Running page logic and rendering on the server makes it possible to avoid sending lots of JavaScript to the client, which helps achieve a fast Time to Interactive (TTI). This makes sense, since with server rendering you’re really just sending text and links to the user’s browser. This approach can work well for a large spectrum of device and network conditions, and opens up interesting browser optimizations like streaming document parsing.
Static Rendering VS Pre-rendering
If you’re unsure whether a given solution is static rendering or prerendering, try this test: disable JavaScript and load the created web pages. For statically rendered pages, most of the functionality will still exist without JavaScript enabled. For prerendered pages, there may still be some basic functionality like links, but most of the page will be inert.