در این قسمت قراره در مورد واکشی داده و انواعش صحبت کنیم. تعریف کلی واکشی داده به این صورته:
فرایند بازیابی داده ها توسط یک برنامه نرم افزاری، اسکریپت یا دستگاه سخت افزاری را واکشی داده (data fetching) می گویند. پس از بازیابی، داده ها به مکان دیگری منتقل می شوند یا روی صفحه نمایش داده می شوند.
استفاده ما در اینجا از واکشی داده، دریافت اطلاعات از سرور و نمایش به صورت خروجی html در سمت کاربر هستش.
به طور کلی دو روش برای واکشی داده وجود داره:
زمانی که درخواستی از سمت کاربر به سرور ارسال میشه، سرور درخواست رو بررسی و اطلاعات مورد نیاز رو بدون پردازش به مرورگر کاربر می فرسته. بعد از اینکه اطلاعات دریافتی درون مرورگر پردازش شد، خروجی رو در قالب html درون خودش نمایش میده. این روش به صورت پیشفرض در React اجرا میشه.
این روش دقیقا مثل روش قبلی هست با این تفاوت که سرور قبل از ارسال اطلاعات، اونا رو پردازش و به خروجی آماده html تبدیل می کنه و بعد به مروگر کاربر ارسال میکنه. در نتیجه مرورگر بدون هیچ پردازشی، خروجی رو نمایش میده.
برای فهم بهتر، با یک مثال توضیح میدم: فرض می کنیم شخصی گرسنه اش شده. به مغازه میره و مواد لازم برای پختن غذا رو میخره. به خانه بر میگرده و غذاش رو می پزه. بعد از چند ساعت، غذا آماده میشه و شخص گرسنگی اش رو برطرف می کنه. این میشه CSR که مغازه "سرور"، مواد غذایی "اطلاعات" و شخص " مرورگر یا کاربر" هستش.
حالا چی میشه اگه این شخص وقت یا حوصله پختن نداشته باشه؟
خب از بیرون غذا سفارش میده و نیازش رو برطرف می کنه. به این میگن SSR که شخص (مرورگر) بدون اینکه زمان و انرژی زیادی برای آماده شدن غذا (خروجی) صرف کنه، به نتیجه مد نظرش می رسه.
۱. به شما خروجی html میده و باعث میشه داخل مرورگر های قدیمی هم برنامه react شما کار کنه.
۲. سرعت: در CSR تمام پردازش ها به گردن مرورگره؛ در نتیجه سرعت نمایش خروجی پایین میاد. درحالی که در SSR تمام پردازش ها رو سرور انجام میده. وقتی تمام پردازش سمت سرور انجام بشه، مرورگر فقط اطلاعات رو نمایش میده و تو دستگاه های ضعیف تر، روون تر اجرا میشه
۳. سئو: در CSR شما html خام دارید و خزنده موتور جستجو میاد صفحه رو میخونه و عملیات بدون نتیجه خاصی انجام میشه. در نتیجه صفحه در رتبه بندی های جستجو قرار نمی گیره. اما در SSR شما یک صفحه html کامل دارید که خزنده با خوندنش صفحه رو در نتایج جستجو قرار میده.
اگه سئو در برنامه ای که می نویسید مهمه، از SSR استفاده کنید