ابـراهــیم
ابـراهــیم
خواندن ۲ دقیقه·۲ سال پیش

10) انواع روش های واکشی داده در Nextjs

انواع روش های واکشی داده در Nextjs
انواع روش های واکشی داده در Nextjs


در این قسمت قراره در مورد واکشی داده و انواعش صحبت کنیم. تعریف کلی واکشی داده به این صورته:

فرایند بازیابی داده ها توسط یک برنامه نرم افزاری، اسکریپت یا دستگاه سخت افزاری را واکشی داده (data fetching) می گویند. پس از بازیابی، داده ها به مکان دیگری منتقل می شوند یا روی صفحه نمایش داده می شوند.


استفاده ما در اینجا از واکشی داده، دریافت اطلاعات از سرور و نمایش به صورت خروجی html در سمت کاربر هستش.


به طور کلی دو روش برای واکشی داده وجود داره:

Client Side Rendering (CSR)


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


Server Side Rendering (SSR)


این روش دقیقا مثل روش قبلی هست با این تفاوت که سرور قبل از ارسال اطلاعات، اونا رو پردازش و به خروجی آماده html تبدیل می کنه و بعد به مروگر کاربر ارسال میکنه. در نتیجه مرورگر بدون هیچ پردازشی، خروجی رو نمایش میده.

برای فهم بهتر، با یک مثال توضیح میدم: فرض می کنیم شخصی گرسنه اش شده. به مغازه میره و مواد لازم برای پختن غذا رو میخره. به خانه بر میگرده و غذاش رو می پزه. بعد از چند ساعت، غذا آماده میشه و شخص گرسنگی اش رو برطرف می کنه. این میشه CSR که مغازه "سرور"، مواد غذایی "اطلاعات" و شخص " مرورگر یا کاربر" هستش.


حالا چی میشه اگه این شخص وقت یا حوصله پختن نداشته باشه؟

خب از بیرون غذا سفارش میده و نیازش رو برطرف می کنه. به این میگن SSR که شخص (مرورگر) بدون اینکه زمان و انرژی زیادی برای آماده شدن غذا (خروجی) صرف کنه، به نتیجه مد نظرش می رسه.


مزیت های SSR نسبت به CSR

۱. به شما خروجی html میده و باعث میشه داخل مرورگر های قدیمی هم برنامه react شما کار کنه.

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

۳. سئو: در CSR شما html خام دارید و خزنده موتور جستجو میاد صفحه رو می‌خونه و عملیات بدون نتیجه خاصی انجام میشه. در نتیجه صفحه در رتبه بندی های جستجو قرار نمی گیره. اما در SSR شما یک صفحه html کامل دارید که خزنده با خوندنش صفحه رو در نتایج جستجو قرار میده.


اگه سئو در برنامه ای که می نویسید مهمه، از SSR استفاده کنید


منبع

Server-Side Rendering with React, Redux, and React-Router

اجرای ری‌اکت سمت سرور

nextjsssrdata fetchingcsr
ساده بگیر ولی دستِ کم نگیر
شاید از این پست‌ها خوشتان بیاید