46 lines
1.6 KiB
Markdown
46 lines
1.6 KiB
Markdown
---
|
|
title: Server-Side Rendering (SSR)
|
|
created: 2026-06-06
|
|
updated: 2026-06-06
|
|
type: concept
|
|
tags: [tech, web, architecture]
|
|
confidence: high
|
|
contested: false
|
|
sources: [synthesized]
|
|
---
|
|
# 🖥️ Server-Side Rendering (SSR)
|
|
|
|
## Définition Courte
|
|
Technique de rendu web où le HTML est généré **côté serveur** à chaque requête, puis envoyé complet au navigateur.
|
|
|
|
## Explication Détaillée
|
|
Opposé au Client-Side Rendering (SPA) où le navigateur reçoit un coquille HTML vide + JS qui fait tout, le SSR envoie une page déjà remplie. Souvent combiné avec **Hydration** : le HTML arrive prêt, puis le JS "prend le relais" pour l'interactivité.
|
|
|
|
**Avantages** : SEO optimal, First Contentful Paint rapide, pas besoin de JS activé pour voir le contenu.
|
|
**Inconvénients** : charge serveur accrue (rendu à chaque requête), Time to Interactive parfois plus long.
|
|
|
|
Variantes :
|
|
- **SSG** (Static Site Generation) : HTML généré au build (Next.js export, Hugo, Astro).
|
|
- **ISR** (Incremental Static Regeneration) : regénération à la demande.
|
|
- **Streaming SSR** : envoi par chunks (React Server Components).
|
|
|
|
## Cas d'Usage
|
|
- Sites avec du contenu public référencé (blog, e-commerce, news).
|
|
- Apps nécessitant un SEO fort.
|
|
- Pages de marketing.
|
|
|
|
## Outils Liés
|
|
- **Frameworks** : Next.js, Nuxt, SvelteKit, Astro, Remix.
|
|
- **Langages** : Node.js, Go, Rust (via Deno).
|
|
|
|
## Pages Liées
|
|
- [[concepts-web]]
|
|
- [[architecture-microservices]]
|
|
|
|
## Questions Ouvertes
|
|
- SSR ou SSG : comment choisir ?
|
|
- Les React Server Components vont-ils rendre le SSR "classique" obsolète ?
|
|
|
|
## Liens
|
|
- [[stack-frontend-solo-dev]]
|