Was ist Server-Side Rendering?
SSR, serverseitiges Rendern
Server-Side Rendering (SSR) bedeutet, dass der Server eine Webseite bei jeder Anfrage als fertiges HTML erzeugt, statt dass erst JavaScript im Browser den Inhalt aufbaut. Der Browser kann den Inhalt dadurch sofort anzeigen, und das mitgelieferte JavaScript macht die Seite danach per Hydration interaktiv.
Wenn die erste Ansicht deiner Anwendung sekundenlang leer bleibt und Suchmaschinen im Quelltext nichts zu lesen finden, führt der Weg zum Rendern auf dem Server.
KI-generiertDieses Bild wurde mit KI erzeugt · Yves Hoppe / KI / cmt
- Rendert
- Bei jeder Anfrage auf dem Server
- Danach
- Hydration macht das HTML im Browser interaktiv
- Abzuwägen gegen
- Static Site Generation und Client-Rendering
- Typische Frameworks
- Next.js, Nuxt, SvelteKit, Astro
Der Ablauf von der Anfrage bis zum Klick
In einem Framework wie Next.js, Nuxt oder SvelteKit läuft eine SSR-Anfrage in diesen Schritten ab:
-
Anfrage
Der Browser ruft eine Adresse auf, etwa die Produktseite eines Shops.
-
Rendern auf dem Server
Der Server führt die Komponenten aus, holt die nötigen Daten, zum Beispiel Preis und Lagerbestand, und erzeugt daraus HTML.
-
Anzeige
Der Browser zeichnet das HTML sofort, noch bevor das JavaScript-Bündel geladen ist. Die Seite ist sichtbar, reagiert aber noch nicht.
-
Hydration
Das JavaScript lädt, dieselbe Anwendung läuft im Browser noch einmal an und hängt Ereignisse an das vorhandene Markup.
-
Interaktiv
Ab jetzt reagieren Klicks und Eingaben, und weitere Navigation kann im Browser stattfinden.
Neu ist das Prinzip nicht. PHP, Java Server Pages oder Ruby on Rails haben HTML schon immer auf dem Server erzeugt. Wenn heute von SSR die Rede ist, meint man meist, dass JavaScript-Komponenten aus React, Vue oder Svelte auf dem Server gerendert und im Browser anschließend weiterverwendet werden. Genau dieser zweite Teil, die Hydration, ist das Neue.
Was Hydration bedeutet und warum sie Zeit kostet
Hydration heißt wörtlich Bewässerung: Das trockene HTML vom Server wird im Browser mit Leben gefüllt. Dafür muss das gesamte JavaScript der Seite geladen und ausgeführt werden, und das Framework geht den Komponentenbaum noch einmal durch, um Zustand und Ereignisse mit dem vorhandenen Markup zu verbinden. In React erledigt das hydrateRoot statt des sonst üblichen createRoot.
Zwischen Anzeige und Hydration liegt ein Fenster, in dem die Seite fertig aussieht, aber noch nicht reagiert. Wer in dieser Zeit klickt, sieht nichts passieren. Je größer das Bündel und je schwächer das Gerät, desto länger dauert das. Erzeugen Server und Browser dabei unterschiedliches Markup, spricht man von einem Hydration Mismatch, und das Framework muss Teile der Seite neu aufbauen.
Gegen diese Kosten gibt es mehrere Ansätze. Streaming schickt die Seite in Stücken, sodass wichtige Bereiche früher fertig sind und einzeln hydriert werden. Die Inselarchitektur, etwa in Astro, hydriert nur die wenigen interaktiven Teile und lässt den Rest als reines HTML stehen. React Server Components schicken für Komponenten, die nur Inhalt darstellen, gar keinen JavaScript-Code an den Browser.
SSR, SSG und CSR im Vergleich
Server-Side Rendering ist eine von mehreren Rendering-Strategien. Welche passt, hängt davon ab, wie oft sich der Inhalt ändert und ob er für jeden Besucher anders aussieht.
| Variante | HTML entsteht | Passt für | Preis |
|---|---|---|---|
| Static Site Generation (SSG) | Einmal beim Bauen | Ratgeber, Produktbeschreibungen, Dokumentation | Neu bauen bei jeder Änderung |
| Inkrementelle Neuerzeugung (ISR) | Beim Bauen, später im Hintergrund erneuert | Viele Seiten, die sich gelegentlich ändern | Kurzzeitig veraltete Inhalte möglich |
| Server-Side Rendering (SSR) | Bei jeder Anfrage | Personalisierte oder ständig aktuelle Seiten, die indexierbar sein sollen | Server arbeitet bei jedem Aufruf |
| Client-Side Rendering (CSR) | Erst im Browser | Anwendungen hinter einer Anmeldung | Leere Seite bis das JavaScript läuft |
Moderne Frameworks zwingen dich nicht zu einer globalen Entscheidung. In Next.js, Nuxt, SvelteKit oder Astro legst du die Strategie pro Route oder sogar pro Komponente fest: Die Marketingseiten liegen statisch vor, der Warenkorb wird pro Anfrage gerendert, und das Dashboard hinter der Anmeldung läuft komplett im Browser.
KI-generiertDieses Bild wurde mit KI erzeugt · Yves Hoppe / KI / cmt
Server-Side Rendering und was oft damit gleichgesetzt wird
SSG erzeugt HTML einmal beim Bauen, SSR bei jeder Anfrage. Für den Besucher sehen beide gleich aus, der Unterschied liegt darin, wann gerechnet wird und ob die Seite für jeden Besucher anders sein kann.
Server Components laufen ausschließlich auf dem Server und schicken ihren eigenen Code nicht an den Browser. Sie sind ein Baustein, nicht dasselbe wie SSR: Auch eine Server Component kann in einer Seite stecken, die statisch erzeugt wurde.
Der Begriff wird für beides benutzt, gemeint ist meist das Vorabrendern zur Bauzeit. Wenn er in einer Diskussion fällt, lohnt die Rückfrage, ob Bauzeit oder Anfragezeit gemeint ist.
Dynamic Rendering lieferte Suchmaschinen eine serverseitig gerenderte Fassung und Menschen die Client-Variante. Google bezeichnet das selbst nur als Übergangslösung und empfiehlt stattdessen SSR, statische Generierung oder Hydration für alle Besucher.
KI-generiertDieses Bild wurde mit KI erzeugt · Yves Hoppe / KI / cmt
Der Server kennt weder Fenster noch Zeitzone des Besuchers
Code, der im Browser selbstverständlich ist, fällt auf dem Server sofort um. Ein Zugriff auf das Fenster-Objekt, auf den lokalen Speicher oder auf die Bildschirmbreite existiert dort nicht, und viele Bibliotheken zeigen das erst beim ersten Rendern. Solche Aufrufe gehören in den Teil, der erst nach dem Einhängen im Browser läuft.
Der zweite Klassiker ist der Unterschied zwischen dem, was der Server geschrieben hat, und dem, was der Browser daraus macht. Eine formatierte Uhrzeit, ein Zufallswert oder eine Anzeige nach Zeitzone fallen auf beiden Seiten verschieden aus, und dann wirft der Browser das gelieferte HTML weg und baut die Seite neu. Damit ist genau der Vorteil verspielt, für den du den Aufwand betrieben hast.
Jeder Aufruf kostet Rechenzeit, anders als bei vorgebauten Seiten. Für Inhalte, die sich selten ändern, lohnt sich deshalb eine Zwischenspeicherung mit einer klaren Regel, wann sie verfällt. Ohne die leistet der Server bei jedem Besuch dieselbe Arbeit ein zweites Mal.
Server-Side Rendering lernen
Wann welche Variante die richtige ist, gehen die Trainings zu React und dem App Router an einem echten Projekt durch.
Was dabei eine Ebene tiefer passiert, vom Event Loop bis zu Node.js, klären die Kurse zu JavaScript im Browser und auf dem Server.
Kurse, die Server-Side Rendering behandeln
- Next.js App Router: Skalierbare Webarchitektur
- Next.js Grundkurs
- Next.js Deep Dive Training: Caching & Skalierung
- Legacy-React zu Next.js App Router migrieren
- Astro Grundkurs
Weitere Kurse aus diesem Bereich
Häufige Fragen
Brauche ich SSR für Suchmaschinen?
Wird meine Seite durch SSR schneller?
Brauche ich für SSR einen eigenen Server?
Welche Frameworks unterstützen SSR?
Passt thematisch dazu
Ob sich dafür ein komplettes Framework lohnt, entscheiden vier Anforderungen, die für Next.js sprechen.
Wenn die Seite trotz SSR träge wirkt, helfen dir die Ursachen schlechter LCP-, INP- und CLS-Werte weiter, die im Frontend am häufigsten vorkommen.
Deine Ansprechpartner
Du willst das Thema nicht nur nachschlagen, sondern anwenden können? Wir beraten dich persönlich und kostenlos.
Yves Hoppe
Weiterbildung & Beratung
Ordnet mit dir ein, welcher Kurs zu deinem Vorwissen passt.
Norbert Jansen
Beratung & Inhouse
Plant Inhouse-Trainings, die an euren eigenen Daten und Abläufen ansetzen.
Server-Side Rendering im Kurs statt im Lexikon
Nachschlagen bringt dich bis zum Verstehen. Anwenden lernst du an echten Aufgaben.
Verwandte Begriffe
Alle Begriffe im Glossar