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

مثال ملموس#

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

مزایا#

  • نمایش سریع‌تر اولین محتوا، به‌خصوص روی گوشی‌های ضعیف و اینترنت کند
  • دیده شدن مطمئن‌تر محتوا برای موتورهای جستجو و ابزارهای پیش‌نمایش لینک در پیام‌رسان‌ها
  • مصرف کمتر منابع در دستگاه کاربر

هزینه‌ها#

  • بار بیشتری روی سرور می‌افتد، چون هر درخواست باید رندر شود
  • پیچیدگی پیاده‌سازی و استقرار بیشتر می‌شود
  • باید با کش درست، سرعت پاسخ را بالا نگه داشت

کجا با آن روبه‌رو می‌شوید#

وردپرس و بیشتر سایت‌های PHP ذاتاً سمت سرور هستند. در دنیای جاوااسکریپت، فریم‌ورک‌هایی مثل Next.js و Nuxt قابلیت SSR را برای اپ‌های React و Vue فراهم می‌کنند.

تفاوت با سایت استاتیک#

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