تفاوت session و token:

پرسیده شده
فعالیت 1452 روز پیش
دیده شده 1961 بار
0

با سلام و احترام سوالم اینه که تفاوت session و token در چی هست؟ آیا کاربرد هر دو یکسان هست؟ و این که اگر کاربردشوت یکی هست استفاده از کدوم مورد بهتره؟

با تشکر.

فایل پیوست

Soroosh
Soroosh

24 اردیبهشت 99

3

مورد تایید اساتید

حذف شده

سلام سروش جان وقتت بخیر ، در مرحله اول هم از شما و هم از استاد محترم عذر میخوام که بنده دارم پاسخ میدم . سروش اگه بخوام طبق فرمایشات استاد و مقاله هایی که از  Brian Iyoha و Sherry Hsu خوندم برات توضیح بدم .

 

session: زمانی که کاربر وارد سیستم میشه ، سرور بلافاصله طبق state کاربر (منظورم اون پیمایش هایی که توی سایت انجام میده) میاد براش session ایجاد میکنه این session سمت سرور و داخل یک حافظه (همون حافظه ای که استاد درباره ش صحبت کردن) ذخیره میشه و برای اینکه session ها باهم قاطی نشن (چون ممکنه چندی کاربر وارد سایت بشه ) بهشون یه SessionID داخل cookie سمت مرورگر کاربر اختصاص داده میشه که مشخص بشه کدوم session برای کدوم کاربره ( اینم میدونی دیگه برای چیه؟ برای stateless بودن http هست )  

Token: در این حالت state کاربر میاد سمت client ذخیره میشه و طبق مقاله ای که خوندم گفته که یه روش برتری هست توی API های RESTful چون تمامی data کاربر بصورت رمزنگاری شده داخل یک JWT یا همون Json Web Token ( که خداکنه سرفصلش باشه توی دوره ) سمت کاربر (که درواقع اغلب داخل localStorage هست) ذخیره میشه و به عنوان یک header ارسال میکنه برای request های بعدی. و در نهایت سرور هم میاد اون JWT رو دریافت و اعتبار سنجی میکنه قبل از اینکه response ی رو بفرسته سمت client. و یک مشکلی که JWT دراه حجم بالای اون نسبت به sessionID هست که اونم بخاطر اینه که JWT اطلاعات بیشتری از کاربر داخلش قرار میگیره

درنهایت بخوام نتیجه گیری کنم ، هردو بزرگوار پیشنهاد دادن که برای ایجاد web application های مدرن بهتره از Token استفاده کنید .

امیدوارم تونسته باشم کمکت کنم . پیروز و موفق باشی

فایل پیوست

محسن محمدی رهنما

توسط

محسن محمدی رهنما

24 اردیبهشت 99

حذف شده
محسن جان دمت گرم اطلاعات خیلی مفیدی دادی واقع ممنونم. من خودم نحوه استفاده از JWT را با دوره آموزشی https://git.ir/packtpub-mern-stack-front-to-back-full-stack-react-redux-and-node-js-video یاد گرفتم یه پروژه کامله مبتنی بر mern stack هست مرتبط با سرفصل هایی که تو دوره خودمون داریم و مدرسش هم Brad Traversy هست.به نظرم خیلی میتونه مفید باشه. بازم ممنون.
Soroosh

24 اردیبهشت 99

حذف شده
خواهش میکنم سروش جان اختیار داری. دست توام هم درد نکنه سروش خیلی محبت کردی . آموزش خارجی که مدرسش Traversy هست رو باید روی سر گذاشت :D چقد این بشر خوبه :D.
محسن محمدی رهنما

24 اردیبهشت 99

حذف شده
دقیقا واقعا دمش گرم آموزش های پر باری داره محصول نهایی همین دوره که گفتم توی لینک زیره: dsnfs.herokuapp.com
Soroosh

24 اردیبهشت 99