SSR, abbreviazione di " Server-Side Rendering ", è una tecnica di sviluppo web che prevede la generazione del contenuto HTML di una pagina web sul server prima di inviarlo al browser dell'utente. Ciò è in contrasto con l'approccio "Client-Side Rendering"(CSR), in cui il browser scarica il codice JavaScript e costruisce la pagina web dopo il download.
Struttura e principio di funzionamento dell'SSR
-
Richiesta utente: quando un utente accede a un sito Web, il browser invia una richiesta al server.
-
Elaborazione del server: il server riceve la richiesta e la elabora costruendo il contenuto HTML della pagina web. Ciò include il recupero di dati dai database, la creazione di componenti di interfaccia e l'assemblaggio del contenuto in un documento HTML completo.
-
Creazione di HTML completo: dopo l'elaborazione, il server crea un documento HTML completo contenente il contenuto, i dati e i componenti dell'interfaccia necessari.
-
Invio al browser: il server invia il documento HTML completo al browser dell'utente.
-
Rendering della pagina: il browser riceve il documento HTML e lo visualizza per l'utente. Anche il codice JavaScript e le risorse statiche(CSS, immagini) vengono caricati ed eseguiti dal browser.
Vantaggi della SSR
- Vantaggi SEO: i motori di ricerca possono comprendere e classificare meglio i siti Web quando il contenuto è pre-renderizzato sul server.
- Visualizzazione più veloce: gli utenti visualizzano i contenuti più velocemente perché il documento HTML è pre-renderizzato.
- Supporto per dispositivi deboli: i contenuti pre-renderizzati migliorano l'esperienza per i dispositivi con prestazioni inferiori o connessioni più deboli.
- Supporto per utenti non JavaScript: SSR consente di visualizzare una versione base per gli utenti che non utilizzano JavaScript.
In conclusione, SSR ottimizza le prestazioni e la ricercabilità dei siti Web generando contenuto HTML sul server prima di inviarlo al browser. Ciò fornisce una migliore esperienza utente, migliora il posizionamento nei motori di ricerca e migliora le prestazioni complessive del sito web.