سرور ساید رندرینگ (SSR) یک تکنیک برای ایجاد و ارائه صفحات وب است که در آن صفحه در سمت سرور رندر می شود، به جای اینکه در مرورگر کاربر رندر شود. این روش مزایا و معایب خود را دارد و می تواند یک انتخاب مناسب برای برخی از برنامه های وب باشد. در اینجا به بررسی SSR، مزایا و معایب آن و نحوه تشخیص آن در یک وب سایت می پردازیم.

Ssr چیست؟

سرور ساید رندرینگ (SSR) یک تکنیک برای ایجاد و ارائه صفحات وب است که در آن بخش ایستا یا غیر تعاملی یک صفحه در سمت سرور رندر می شود. این به این معنی است که وقتی مرورگر یک صفحه را درخواست می کند، سرور تمام HTML را ایجاد می کند و آن را به عنوان یک صفحه کامل رندر شده به مرورگر ارسال می‌کند.

SSR با استفاده از Node.js انجام می شود که می تواند کد جاوا اسکریپت را اجرا کند و عناصر رابط کاربری را ایجاد کند. نتیجه این است که مرورگر یک صفحه HTML کاملاً ساخته شده را دریافت می کند که می تواند بلافاصله نشان داده شود. این روش برای محتوای استاتیک یا بخش های غیر تعاملی یک صفحه بسیار کارآمد است، زیرا زمان بارگذاری صفحه را کاهش می دهد و محتوا را سریعتر برای کاربران نمایش می دهد.

با این حال، محدودیت SSR این است که برای اضافه کردن تعامل به عناصر HTML، مرورگر هنوز باید فایل های جاوا اسکریپت را دانلود و پردازش کند. این بدان معنی است که کاربران ممکن است برای تعامل با عناصر پویا، مانند کلیک روی دکمه ها یا پر کردن فرم ها، باید منتظر بمانند. این یک معامله بین بارگیری سریع محتوای استاتیک و زمان انتظار برای تعامل است.

مزایای سرور ساید رندرینگ چیست؟

سرور ساید رندرینگ (SSR) دارای چندین مزیت است که می تواند تجربه کاربران در وب سایت شما را بهبود بخشد:

بهبود ایندکس شدن در موتورهای جستجو: موتورهای جستجو مانند گوگل، به راحتی می توانند محتوای ایستا را که توسط SSR ایجاد شده است، ایندکس کنند. این به این معنی است که محتوای وب سایت شما برای موتورهای جستجو قابل مشاهده تر خواهد بود و می تواند رتبه بالاتری در نتایج جستجو کسب کند. این یک مزیت بزرگ برای سئو (بهینه سازی موتور جستجو) است.

بارگذاری سریعتر صفحه: با SSR، HTML صفحه در سرور رندر می شود، بنابراین وقتی مرورگر صفحه را درخواست می کند، می تواند بلافاصله آن را نشان دهد. این منجر به زمان بارگذاری صفحه اولیه سریعتر می شود، که تجربه کاربر را بهبود می بخشد، به ویژه برای بازدیدکنندگانی که برای اولین بار از سایت شما بازدید می کنند.

بهبود Largest Contentful Paint (LCP): LCP یک متریک مهم برای ارزیابی عملکرد بارگذاری صفحه است و مدت زمان لازم برای رندر بزرگترین محتوای صفحه را اندازه گیری می کند. با SSR، بزرگترین عناصر محتوا به صورت ایستا رندر می شوند، که می تواند به کاهش زمان LCP و بهبود تجربه کاربر کمک کند.

کاهش تغییرات در طرح بندی (CLS): SSR می تواند به کاهش تغییرات غیرمنتظره در طرح بندی صفحه کمک کند که به عنوان Cumulative Layout Shift (CLS) شناخته می شود. با رندر صفحه در سرور، مرورگر تغییرات کمتری را هنگام بارگذاری تجربه می کند، که منجر به یک تجربه کاربر صاف تر و بدون وقفه می شود.

بهبود به اشتراک گذاری در رسانه های اجتماعی: خزنده های رسانه های اجتماعی اغلب با رندر محتوای پویا ایجاد شده توسط جاوا اسکریپت مشکل دارند. با SSR، محتوا به صورت ایستا ارائه می شود، که به اشتراک گذاری در پلتفرم های رسانه های اجتماعی را آسان تر می کند و اطمینان حاصل می کند که محتوای شما به درستی نمایش داده می شود.

دسترسی بهتر: SSR می تواند برای کاربران با دستگاه های قدیمی یا پردازنده های مرکزی ضعیف تر مفید باشد، زیرا محتوای از پیش رندر شده را دریافت می کنند. این می تواند تجربه کاربر را برای طیف وسیعی از کاربران بهبود بخشد و اطمینان حاصل کند که وب سایت شما برای همه در دسترس است.

معایب سرور ساید رندرینگ 

پیچیدگی افزایش یافته: پیاده سازی SSR می تواند پیچیده تر از رندر سمت کلاینت باشد، زیرا نیاز به یک کد جهانی دارد که هم در سرور و هم در کلاینت اجرا می شود. این پیچیدگی می تواند توسعه و نگهداری را دشوارتر کند و ممکن است به مهارت های توسعه دهنده بیشتری نیاز داشته باشد.

هزینه های میزبانی بالاتر: SSR می تواند منابع سرور بیشتری را نسبت به رندر سمت کلاینت مصرف کند، زیرا سرور مسئول رندر کردن صفحه است. این می تواند منجر به هزینه های میزبانی بالاتر شود، به ویژه اگر وب سایت شما ترافیک زیادی داشته باشد.

تاخیر در تعامل کاربر: یکی از معایب SSR این است که می تواند باعث تاخیر در تعامل کاربر شود. از آنجا که صفحه در سرور رندر می شود، ممکن است زمان بیشتری طول بکشد تا پاسخ به تعاملات کاربر، مانند کلیک روی دکمه ها یا پر کردن فرم ها، نسبت به رندر سمت کلاینت باشد. این می تواند تجربه کاربر را تحت تاثیر قرار دهد.

مشکلات کش کردن: با SSR، HTML صفحه برای هر درخواست منحصر به فرد است، که می تواند کش کردن را دشوارتر کند. این می تواند منجر به زمان بارگذاری صفحه طولانی تر برای کاربران تکراری شود، زیرا نمی توانند از مزایای کش کردن استفاده کنند.

افزایش First Input Delay (FID): FID یک متریک مهم برای ارزیابی تعامل کاربر است و تأخیر بین تعامل کاربر و پاسخ مرورگر را اندازه گیری می کند. با SSR، ممکن است FID بالاتر باشد، زیرا مرورگر باید ابتدا کد جاوا اسکریپت را بارگیری و پردازش کند قبل از اینکه بتواند به تعاملات کاربر پاسخ دهد.

نحوه تشخیص ساید رندرینگ در یک وب سایت 

تشخیص اینکه یک وب سایت از سرور ساید رندرینگ (SSR) استفاده می کند یا خیر می تواند کمی چالش برانگیز باشد، اما چند نشانه وجود دارد که می توانید دنبال کنید:

بررسی منبع صفحه: یک راه برای تشخیص SSR این است که به کد منبع صفحه نگاه کنید. اگر HTML صفحه کاملاً ساخته شده و شامل محتوای ایستا باشد، احتمالاً از SSR استفاده می کند. با این حال، توجه داشته باشید که برخی از فریم ورک ها ممکن است کد را بهینه سازی کنند، بنابراین ممکن است HTML کاملاً واضح نباشد.

مشاهده فعالیت شبکه: ابزارهای توسعه دهنده مرورگر خود را باز کنید و به زبانه شبکه بروید. اگر مشاهده می کنید که درخواست های متعددی به سرور برای داده ها وجود دارد و پاسخ ها شامل HTML هستند، این می تواند نشان دهنده SSR باشد. این نشان می دهد که سرور در حال ارائه HTML رندر شده است.

بررسی زمان بارگذاری: SSR می تواند به بارگذاری سریعتر محتوای ایستا کمک کند. اگر صفحه به سرعت بارگذاری می شود و محتوای ایستا بلافاصله ظاهر می شود، این می تواند نشان دهنده SSR باشد. با این حال، توجه داشته باشید که عوامل دیگری نیز بر زمان بارگذاری تأثیر می گذارند.

بررسی تعاملات کاربر: SSR می تواند باعث تاخیر در تعاملات کاربر شود. اگر بین کلیک روی یک دکمه یا تعامل با یک فرم و پاسخ صفحه تأخیر وجود داشته باشد، این میتواند نشان دهنده SSR باشد، زیرا کد جاوا اسکریپت باید ابتدا پردازش شود.