🎒 localStorage یا 🍪 کوکی ها: تفاوت چیست؟

LocalStorage در مقابل کوکی ها
هر دو به یک دلیل وجود دارند: ذخیره برخی اطلاعات (setItem) و استفاده از آن در نمونه های دیگر.
اما تفاوت هایی بین آن ها وجود دارد که برای انتخاب بهترین گزینه باید بدانید.
و باید از استفاده از یکی برای هر موقعیتی خودداری کنید، هر بار فکر کنید که در لحظه بهترین گزینه برای شما چیست. می توانید از هر دو در برنامه خود برای چندین صفحه نمایش و ویژگی استفاده کنید.
🎒 ذخیره سازی محلی
LocalStorage مکانیزم ذخیره سازی موجود در مرورگرهای وب مدرن است که به برنامه های کاربردی وب اجازه می دهد تا داده ها را در مرورگر کاربر ذخیره کنند.
این یک ذخیرهسازی ساده با ارزش کلیدی برای دادههایی که توسط جاوا اسکریپت در حال اجرا در مرورگر کاربر قابل دسترسی است، فراهم میکند.
داده های ذخیره شده در LocalStorage پایدار هستند، به این معنی که حتی اگر کاربر مرورگر خود را ببندد یا رایانه خود را خاموش کند، باقی می ماند.
LocalStorage معمولاً برای ذخیره مقادیر بیشتری از داده ها که نیاز به دسترسی مکرر دارند، مانند تنظیمات برگزیده کاربر یا داده های جلسه، استفاده می شود.
🍪 کوکی ها
از طرف دیگر، کوکی ها فایل های متنی کوچکی هستند که توسط وب سایت هایی که کاربر بازدید می کند در مرورگر کاربر ذخیره می شود.
برخلاف LocalStorage، کوکی ها را می توان با تاریخ انقضا تنظیم کرد، به این معنی که پس از مدت زمان مشخصی به طور خودکار حذف می شوند.
کوکیها معمولاً برای ذخیره مقادیر کمتری از دادهها، مانند اطلاعات کاربری ورود به سیستم کاربر یا اقلام سبد خرید استفاده میشوند.
همچنین با هر درخواست کوکیها به سرور ارسال میشوند که میتواند برای مواردی مانند ردیابی رفتار کاربر یا حفظ جلسه کاربر مفید باشد.
درباره Next.js و SSR
اگر از Next.js استفاده میکنید، مهم است که بدانید LocalStorage ممکن است آنطور که انتظار میرود با رندر سمت سرور (SSR) کار نکند. دلیل آن این است که LocalStorage به شی پنجره مرورگر متکی است که در طول SSR در دسترس نیست. در نتیجه، هرگونه تلاش برای دسترسی به LocalStorage در طول SSR ناموفق خواهد بود.
برای رفع این محدودیت، میتوانید به جای آن از کوکیها استفاده کنید. کوکیها در طول SSR پشتیبانی میشوند، بنابراین میتوانید از آنها برای ذخیره دادههایی که نیاز به دسترسی به مشتری و سرور دارند استفاده کنید. کتابخانههایی مانند nookiesjs در دسترس هستند که دستکاری کوکیها را در برنامههای Next.js آسان میکنند.
با استفاده از کوکی ها به جای LocalStorage، می توانید اطمینان حاصل کنید که برنامه شما همانطور که در طول SSR انتظار می رود کار می کند، در حالی که همچنان می توانید داده ها را در سمت سرویس گیرنده ذخیره کرده و به آنها دسترسی داشته باشید.
بهترین گزینه برای من چیست؟
از انتخاب کردن مانند یک تیم فوتبال یا برخی مانند این اجتناب کنید. بهترین را برای ویژگی خود انتخاب کنید و در صورت لزوم تغییر دهید.
به طور خلاصه، LocalStorage و کوکیها هر دو مکانیسمهای ذخیرهسازی مفیدی برای برنامههای کاربردی وب هستند، اما تفاوتهای مشخصی دارند که آنها را برای موارد استفاده مختلف مناسب میکند. با درک تفاوت بین این دو مکانیسم، توسعه دهندگان می توانند بهترین رویکرد را برای نیازهای خاص خود انتخاب کنند.
امیدوارم این پست بتواند مفید باشد!
برای بازخورد یا مطالب بیشتر، من را دنبال کنید توییتر یا github