
درگذشته همه دیتاهای کاربران درون سرور ذخیره میشد. دیتاهایی که ممکن بود خیلی کم به آن نیاز پیدا کنیم و همین امر باعث میشد بار اضافه بر روی سرور بگذاریم همین مشکل باعث شد شیوه جدیدی برای ذخیرهسازی برخی اطلاعات به وجود بیاید به نام کوکیها.
در دوره رایگان و پروژه محورآموزش aspدر فصل پروژه عملی کار با کوکی در asp.net core را آموزش دادهایم.
برای یادگیری کوکیها درasp.net cor این ویدئو رو تماشا کنید
کوکیها شیوه جدید ذخیرهسازی اطلاعات هستند (البته چند سالی هست که روی کار آمدهاند) در این روش اطلاعات بر روی سرور ذخیره نمیشوند بلکه برروی مرورگر خود کاربر ذخیره میشود و هروقت دیتا را لازم داشتیم از خود مرورگر کاربر میگیریم.
در فصل سوم از دوره رایگان مبانی وب کوکی ها را آموزش داده ایم.
توجه داشته باشید با هر request و response این کوکیها بین کلاینت و سرور جابهجا میشوند.
هر کوکی از دو بخش تشکیل شده key و value ما باید برای استفاده از کوکیها این دو مقدار را بهصورت رشتهای تعریف میکنیم.
به کد زید توجه کنید
Response.Cookies.Append ( “Message” , ”WellcomToBugeto” );
با کد بالا میتوانید یک کوکی در مرورگر کاربر ذخیره کنید که کلید آن Message و مقدار آن WellcomToBugeto است این سادهترین شکل کوکی است.
نوع حرفه ای و پیچیدهتر این کوکیها به این شکل است که میتوانیم تنظیماتی برای کوکیها اختصاص دهیم
به کد زیر توجه کنید
Response.Cookies.Append("Message", "welcome", new CookieOptions
{
HttpOnly = true,
Secure = Request.IsHttps,
Path = Request.PathBase.HasValue ? Request.PathBase.ToString() :"/",
Expires = DateTime.Now.AddDays(5),
});
در کد بالا ما یک سری تنظیمات برای کوکی قرار دادیم در ادامه پارامترهایی برای تنظیمات کوکیها را بررسی میکنیم
HttpOnly:این پارامتر بهصورتbool است و اگر مقدار آنtrue باشد فقط از طریق درخواستهایhttp میتوانیم به آن دسترسی داشته باشیم و با اسکریپتها این کار امکانپذیر نیست
Secure:این پارامتر نیز بهصورتbool است و اگر مقدار آنtrue باشد فقط از طریق پروتکلهایی کهhttpsهستند میتوان به کوکی دسترسی داشت و اگر بخواهم با هر دوی پروتکلهایhttp وhttpsکار کنیم باید مقدار آن را بهصورتSecure = Request.IsHttps بدهیم
PATH:با این پارامتر میتوان مسیر کوکی را مشخص نمود. با کد مقابل میتوان مسیر جاری را به آن اختصاص داد و اگر مسیر جاری مقدار داشت همان را بهعنوان مسیر کوکی اختصاص میدهیم و اگر مقدار نداشت "/" را برای مسیر میدهیم یعنی مسیر جاری
Path = Request.PathBase.HasValue ? Request.PathBase.ToString() :"/"
Expires: این پارامتر مشخصکننده تاریخ انقضای کوکی است و بعد از تاریخ مقدار ورودی این کوکی بهصورت خودکار از مرورگر کاربر پاک میشود
*برای دیدن کوکیهای ذخیره شده در مرورگر میتوان ازinspect و تبstorage استفاده کرد
*اگر برای کوکی تاریخ انقضا مشخص نکنیم بهصورت پیشفرض مقدارsession ذخیره میشود که به این معنی است که بعد از بستن مرورگر کوکی پاک میشود
*بعد از نوشتن کوکی ما نیاز داریم که به آن دسترسی داشته باشیم با کد زیر میتوان مقدار کوکی را به دستاورد البته روشهای دیگری برای بهدستآوردن مقدار کوکی وجود دارد که در این مقاله ما دو روش را آموزش خواهیم داد
روش اول:در این روش مقدار کوکی درون متغیر ریخته میشود
Var CookieValue=Request.Cookies[“KeyName”].ToString();
روش دوم:با این روش اگر کوکی با این کلید وجود داشته باشد مقدارtrue بر میگردد و درون متغیر ریخته میشود
String CookieValue;
Request.Cookies.TryGetValue(“KeyName”, Out CookieValue);
*برخی مواقع نیاز داریم که مقدار کوکی را بهصورت دستی پاک کنیم کد زیر این کار را برای ما انجام میدهد
Response.Cookies.Delete(“KeyName”);
جدیدترین ویدئوهای آموزشی
در بخش TV باگتو، آموزش های کوتاه و جدید را مشاهده نمایید