Server Side Rendering (SSR) is een webontwikkelingstechniek waarbij de HTML-code van een webpagina op de server wordt gegenereerd voordat deze naar de browser van de gebruiker wordt verzonden. In tegenstelling tot Client Side Rendering (CSR), waar JavaScript in de browser de pagina opbouwt, ontvangt de gebruiker bij SSR direct een volledig gerenderde HTML-pagina.
Bij SSR verwerkt de server het verzoek van de gebruiker, voert alle benodigde JavaScript-code uit, haalt data op uit databases of API's, en genereert een complete HTML-pagina. Deze pagina wordt vervolgens naar de browser gestuurd, waar deze direct kan worden weergegeven zonder dat er eerst JavaScript hoeft te worden uitgevoerd.
Hoe werkt Server Side Rendering?
Het SSR-proces verloopt in verschillende stappen:
- Gebruikersverzoek: Een gebruiker vraagt een pagina op door een URL in te voeren of op een link te klikken
- Serververwerking: De server ontvangt het verzoek en voert de benodigde JavaScript-code uit
- Data ophalen: De server haalt alle benodigde data op uit databases, API's of andere bronnen
- HTML genereren: De server genereert een volledige HTML-pagina met alle content en styling
- Verzenden: De complete HTML wordt naar de browser gestuurd
- Hydration: JavaScript in de browser maakt de pagina interactief zonder de inhoud opnieuw te renderen
Verschil met Client Side Rendering
Bij Client Side Rendering (CSR) ontvangt de browser een minimale HTML-pagina met JavaScript-bestanden. De browser moet dan alle JavaScript downloaden, uitvoeren, data ophalen en de pagina opbouwen. Dit resulteert in een langere initiële laadtijd en een leeg scherm totdat JavaScript klaar is met laden.
SSR daarentegen stuurt direct een volledig gerenderde pagina, waardoor gebruikers sneller content zien. Dit verbetert de gebruikerservaring, vooral op langzamere apparaten of internetverbindingen.
Populaire SSR Frameworks
Verschillende moderne frameworks ondersteunen Server Side Rendering:
- Next.js: Het populairste React-framework met ingebouwde SSR-ondersteuning
- Nuxt.js: Het SSR-framework voor Vue.js applicaties
- SvelteKit: Het officiële framework voor Svelte met SSR-mogelijkheden
- Remix: Een modern React-framework gericht op web fundamentals en SSR
- Astro: Een framework dat standaard SSR gebruikt met minimale JavaScript
