Server-side rendering (SSR) adalah teknik untuk menampilkan aplikasi JavaScript client-side atau universal di server, lalu mengirimkan halaman yang sudah terrender sepenuhnya ke client. Ini dapat meningkatkan performa aplikasi, terutama pada perangkat dan koneksi yang lebih lambat, karena client tidak perlu melakukan pekerjaan rendering halaman. Ini juga dapat meningkatkan optimasi mesin pencari (SEO) aplikasi, karena mesin pencari dapat mengindeks dan merayapi halaman yang sudah terrender sepenuhnya.
Dalam aplikasi JavaScript client-side atau universal, sebagian besar pekerjaan rendering dilakukan di browser web client, menggunakan JavaScript.
Ini dapat menyebabkan waktu load halaman awal yang lebih lama, terutama pada perangkat dan koneksi yang lebih lambat, karena browser harus mengunduh dan menjalankan kode JavaScript sebelum bisa menampilkan halaman. Dengan server-side rendering, pekerjaan rendering dilakukan di server sebelum halaman dikirim ke client, sehingga client dapat mulai menampilkan halaman saat menerimanya.
Ada beberapa cara untuk mengimplementasikan server-side rendering dalam aplikasi JavaScript. Salah satu pendekatan yang populer adalah menggunakan framework server-side, seperti Express.js atau Hapi.js, untuk menampilkan aplikasi di server dan mengirimkan HTML yang sudah terrender sepenuhnya ke client. Pendekatan lain adalah menggunakan library seperti Puppeteer untuk menampilkan aplikasi di server dan menghasilkan PDF atau screenshot dari halaman.