در این نوشته، می خواهیم تفاوت بین دو مفهوم رندر سمت سرور SSR و رندر سمت گیرندهCSR را با شما به اشتراک بگذارم. فهم تفاوت بین این دو بسیار مهم است، مخصوصا اگر در حال توسعه وب هستید یا تلاش در بهبود وضعیت سئو یک سایت دارید. اول از همه، بهتر است با تعریف SSR و CSR آشنا شویم، سپس تفاوت بین آنها را متوجه شویم، و در آخر بفهمیم در چه شرایطی برای هر کدام مناسب است.
در ابتدا باید گفت SSR مخفف Server Side Rendering است. این توانایی یک وب اپلیکیشن است که می تواند صفحه وب را به جای اینکه در مرورگر رندر بگیرد، روی سرور رندر بگیرد. وقتی صفحه به سمت سرویس گیرنده رسید، به طور کامل رندر می شود. زیرا سمت سرور صفحه را قبل از ارسال به گیرنده کاملاً رندر کرده است. هنگامی که درخواست از طرف سرور دریافت می شود، اگر محتوای صفحه به داده های پایگاه داده نیاز داشته باشد، سرور این کار را انجام می دهد، سپس داده ها را به صفحه کاملا رندر شده ارائه می دهد و سپس آنها را به عنوان پاسخ برای گیرنده ارسال می کند.
عبارت CSR مخفف Client Side Rendering است. به طور کلی CSR نقطه مقابل SSR است. اگر در SSR صفحه سمت سرور رندر گرفته می شود، CSR صفحه را در سمت گیرنده رندر می گیرد. هنگامی که درخواست از سرور دریافت می شود، صفحه رندر گرفته نمی شود. در عوض، سرور یک صفحه واحد را که اسکلت صفحه است برای مشتری ارسال می کند. سرور صفحه را به همراه فایل javascript ارسال می کند. سپس در سمت گیرنده اسکریپت جاوا صفحه را به یک صفحه کاملاً رندر شده تبدیل می کند. پس محتوا کجاست؟ اگر این صفحه نیاز به گرفتن داده از پایگاه داده داشته باشد چه اتفاقی می افتد؟ در این زمان api وارد می شود. گیرنده درخواستش را به api می فرستد تا داده ها را بگیرد و آنها را به صفحه ارائه دهد.
تفاوت اصلی بین CSR و SSR در محل رندر گیری صفحه است. SSR صفحه را در سمت سرور و CSR صفحه را در سمت گیرنده رندر می گیرد. در رندر سمت گیرنده، هر بار که کاربر مسیر دیگری را درخواست می کند، مسیریابی را بدون رفرش صفحه مدیریت می کند.
با در نظر گرفتن پارامترهای بسیاری از یک وبسایت می توان گفت که کدام روش بهتر است. در اینجا به چند پارامتر که به تصمیم گیری شما کمک می کنند اشاره می کنیم اما در نظر داشته باشید که سنجش شرایط هر وبسایت فقط با این پارامترها ممکن نیست.
اگر وبسایت شما نوپا است، ترافیک بالایی ندارد، بیشتر صفحات نوشته و بلاگ است و می خواهید بدون دردسر و سریع در نتایج جستجو گوگل ظاهر شوید احتمالا SSR گزینه بهتری برای شما است. همچنین اگر محتوای شما به گونه ای است که نیاز به تعامل با کاربر ندارد هم می توانید با SSR به نتیجه دلخواهتان برسید.
اما اگر وبسایت پر ترافیکی دارید و تعامل با کاربر بیشتر از سئو برای شما اهمیت دارد و با ترافیک بالا می توانید جایگاه خود را در موتورهای جستجو حفظ کنید، بهتر است از CSR استفاده کنید.
استفاده از CSR برای اپلیکیشن های تک صفحه ای و وب سایت هایی که نیاز به استفاده دائم از پایگاه داده دارند گزینه بسیار مناسبی است.