مشاوره رایگان
دریافت لینک های دانلود دریافت پستی درب منزل مبلغ کل: تومان
جهت دریافت کد تخفیف به کانال تلگرام مراجعه و یا با پشتیبان آنلاین هماهنگ نمایید

کاربرد کوکی ها در جاوا اسکریپت چیست - چگونه یک کوکی تعریف کنیم


کوکی ها چه چیزی هستند؟

مرورگرهای وب و سرورها از پروتکل HTTP برای برقراری ارتباط استفاده می نمایند. HTTP یک پروتکل stateless می باشد. اما برای وب سایت های تجاری ، لازم است که اطلاعات مربوط به جلسه (session) را بین صفحات مختلف را حفظ نماییم. برای مثال ، ثبت نام کاربر پس از تکمیل اطلاعات در صفحات مختلفی به اتمام می رسد. اما ، چگونه می توان اطلاعات session کاربران را برای تمام صفحات وب حفظ نمود.

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

کوکی ها چگونه کار می کنند؟

یک سرور ، برخی از داده ها را به مرورگر بازدید کننده در شکل یک کوکی ارسال می نماید. مرورگر ، ممکن است کوکی را پذیرش نماید. اگر مرورگر این کار را انجام دهد ، کوکی به صورت یک رکورد متنی ساده در دیسک سخت بازدید کننده ذخیره می شود. اکنون ، هنگامی که کاربر به صفحه دیگری از وب سایت می رود ، مرورگر همان کوکی را به سرور ، جهت بازیابی اطلاعات ارسال می نماید. پس از این که اطلاعات بازیابی شد ، سرور می داند / به یاد دارد که چه چیزی قبلاً ذخیره شده است.

کوکی ها به صورت رکورد داده ای متن ساده  که متشکل از 5 فیلد متغیر-طول ( variable-length) است ، می باشند:

  • تاریخ انقضاء (Expires) : داده های کوکی منقضی می شوند. اگر این فیلد خالی باشد ، کوکی زمانی که بازدید کننده مرورگر را می بندد ، منقضی می شود.
  • دامنه (Domain) : نام دامنه وب سایت می باشد.
  • مسیر (Path) : مربوط به مسیر دایرکتوری یا وب سایتی است که کوکی را تنظیم می نماید. این فیلد ، در صورتی که بخواهیم کوکی را از دایرکتوری یا صفحه دیگری بازیابی نماییم ، خالی می باشد.
  • امنیت (Secure) : اگر این فیلد حاوی کلمه “secure” باشد ، کوکی فقط ممکن است با سرور secure بازیابی شود. اگر این فیلد خالی باشد ، چنین محدودیتی وجود ندارد.
  • Name= Value : کوکی در قالب جفت های key-value تنظیم و بازیابی می شوند.

کوکی ها در اصل برای برنامه نویسی CGI طراحی شده اند. داده های یک کوکی به صورت خودکار بین مرورگر وب و سرور وب انتقال می یابند ، به طوری که اسکریپت های سرور بتوانند مقادیر کوکی هایی را که در سمت کلاینت ذخیره شده اند ، خوانده و بنویسند.

جاوا اسکریپت ، هم چنین می تواند کوکی ها را با استفاده از خصیصه cookie از شیء Document دستکاری نماید. جاوا اسکریپت می تواند کوکی هایی را که در صفحه وب جاری اجرا می شوند ، خوانده ، ایجاد ، اصلاح و حذف نماید.

ذخیره کردن کوکی ها

ساده ترین روش برای ایجاد یک کوکی این است که یک مقدار رشته ای به شیء document.cookie تخصیص دهیم ، همانند کد زیر :

document.cookie = "key1=value1;key2=value2;expires=date";

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

نکته : مقادیر کوکی ها ممکن است شامل سیمکالن ها ، کاماها یا فاصله ها نباشند ، به این دلیل که ممکن است بخواهیم از تابع escape() برای کدگذاری مقادیر قبل از ذخیره سازی آنها در کوکی ، استفاده نماییم. اگر این کار را انجام دهیم ، هم چنین باید از تابع متناظر unescape() در زمان خواندن مقدار کوکی استفاده نماییم.

مثال

مثال زیر را امتحان نمایید. این مثال نام مشتری را در یک کوکی input تنظیم می نماید.

<html>
   <head>
      
      <script type = "text/javascript">
         <!--
            function WriteCookie()
            {
               if( document.myform.customer.value == "" ){
                  alert("Enter some value!");
                  return;
               }
               cookievalue= escape(document.myform.customer.value) + ";";
               document.cookie="name=" + cookievalue;
               document.write ("Setting Cookies : " + "name=" + cookievalue );
            }
         //-->
      </script>
      
   </head>
   
   <body>
   
      <form name="myform" action="">
         Enter name: <input type="text" name="customer"/>
         <input type="button" value="Set Cookie" onclick="WriteCookie();"/>
      </form>
   
   </body>
</html>

خروجی

اکنون ، در مرورگر ما ، کوکی با نام name ذخیره شده است. ما می توانیم چندین کوکی را با استفاده از چندین جفت key=value جدا شده با کاما تنظیم نماییم.

خواندن کوکی ها

خواندن یک کوکی به سادگی نوشتن آن است ، زیرا شیء document.cookie کوکی است. بنابراین ما می توانیم از این رشته هر زمان که بخواهیم به کوکی دسترسی یابیم ، استفاده می کنیم. رشته document.cookie لیستی از جفت های name=value جدا شده با سیمکالن را نگه می دارد ، که name مربوط به نام کوکی و value مربوط به مقدار رشته می باشد.

می توانیم از تابع split() برای شکستن رشته به key و value مطابق مثال زیر استفاده نماییم.

مثال

مثال زیر را امتحان نمایید تا تمام کوکی های ذخیره شده در ماشین خود را دریافت کنید:

<html>
   <head>
   
      <script type="text/javascript">
         <!--
            function ReadCookie()
            {
               var allcookies = document.cookie;
               document.write ("All Cookies : " + allcookies );
               
               // Get all the cookies pairs in an array
               cookiearray = allcookies.split(';');
               
               // Now take key value pair out of this array
               for(var i=0; i<cookiearray.length; i++){
                  name = cookiearray[i].split('=')[0];
                  value = cookiearray[i].split('=')[1];
                  document.write ("Key is : " + name + " and Value is : " + value);
               }
            }
         //-->
      </script>
      
   </head>
   <body>
      
      <form name="myform" action="">
         <p> click the following button and see the result:</p>
         <input type="button" value="Get Cookie" onclick="ReadCookie()"/>
      </form>
      
   </body>
</html>

نکته : در اینجا length یک متدی از کلاس Array می باشد که طول یک آرایه را باز می گرداند. ما در مورد آرایه ها در یک جلسه جداگانه بحث خواهیم کرد.

خروجی

نکته : ممکن است کوکی های دیگری قبلاً بر روی ماشین شما تنظیم شده باشند. کد فوق ، تمام کوکی های روی ماشین شما را نمایش خواهد داد.

تنظیم کردن تاریخ انتقضاء کوکی ها

ممکن است که بخواهیم حیات یک کوکی فراتر از جلسه فعلی مرورگر باشد. برای توسعه حیات کوکی ، یک تاریخ انقضاء تنظیم کرده و تاریخ را در داخل کوکی ذخیره می نماییم. این کار می تواند با تنظیم صفت ‘expires’ به تاریخ و زمان موردنظر انجام شود.

مثال

مثال زیر را امتحان نمایید. این مثال نحوه توسعه تاریخ انقضاء یک کوکی به یک ماه را نشان می دهد:

<html>
   <head>
   
      <script type="text/javascript">
         <!--
            function WriteCookie()
            {
               var now = new Date();
               now.setMonth( now.getMonth() + 1 );
               cookievalue = escape(document.myform.customer.value) + ";"
               
               document.cookie="name=" + cookievalue;
               document.cookie = "expires=" + now.toUTCString() + ";"
               document.write ("Setting Cookies : " + "name=" + cookievalue );
            }
         //-->
      </script>
      
   </head>
   <body>
   
      <form name="myform" action="">
         Enter name: <input type="text" name="customer"/>
         <input type="button" value="Set Cookie" onclick="WriteCookie()"/>
      </form>
      
   </body>
</html>

خروجی

حذف کردن یک کوکی

برخی اوقات ممکن است که بخواهیم یک کوکی را حذف نماییم ، تا تلاش های بعدی برای خواندن کوکی با شکست مواجه شوند. برای انجام این کار ، نیاز داریم که فقط تاریخ انقضاء را به یک زمان گذشته تنظیم نماییم.

مثال

مثال زیر را امتحان نمایید. در این مثال نحوه حذف یک کوکی را با استفاده از تنظیم تاریخ انقضاء آن به یک ماه گذشته از تاریخ جاری نشان می دهیم:

<html>
   <head>
   
      <script type="text/javascript">
         <!--
            function WriteCookie()
            {
               var now = new Date();
               now.setMonth( now.getMonth() - 1 );
               cookievalue = escape(document.myform.customer.value) + ";"
               
               document.cookie="name=" + cookievalue;
               document.cookie = "expires=" + now.toUTCString() + ";"
               document.write("Setting Cookies : " + "name=" + cookievalue );
            }
          //-->
      </script>
      
   </head>
   <body>
   
      <form name="myform" action="">
         Enter name: <input type="text" name="customer"/>
         <input type="button" value="Set Cookie" onclick="WriteCookie()"/>
      </form>
      
   </body>
</html>

 

خروجی

فصلِ: 1 , تعداد قسمت ها: 4 , سطح: صفر تا صد

این فصل در یک نگاه:

در این مجموعه به آموزش کامل ckeditor از نصب آن تا شخصی سازی و افزودن امکانات اختصاصی به ان می پردازیم.…

با توجه به اینکه آموزش جامع و کاملی در مورد نحوه ایجاد و شخصی سازی یک ادیتور در وب سایت و صفحات وب، وجود نداشت برآن شدیم تا یک سری مجموعه آموزشی کامل و جامع در رابطه با این موضوع تهیه نماییم…
فصلِ: 1 , تعداد قسمت ها: 16 , سطح: صفر تا صد

این فصل در یک نگاه:

نود جی اس چیست؟-اموزش نصب نود جی اس-کار با فایل در نود جی اس-کار با پکیج http در نود جی اس-اموزش کار با npm manager -امو…

توضیحات کلی مجموعه: آموزش صفر تا صد برنامه نویسی nodejs(سورس کدها به همراه اموزش قسمت اخر می باشد) دراین دوره از ابتدا تا سطح حرفه ای نود جی اس رو به کاربران عزیز کلیک سایت اموزش میدیم تا …
فصلِ: 3 , تعداد قسمت ها: 76 , سطح: مقدماتی

این فصل در یک نگاه:

در این فصل پروژه ای را انجام خواهی داد که مباحث قبلی را تثبیت کنیمهم چنین مباحث جدید را یاد خواهیک گرفت از جمله:برنامه ر…

با سلام به حرفه ای ترین دوره ی js خوش آمدید این دوره با دو هدف طراحی و ضبط شده است 1-برای افرادی که قصد یادگیری حرفه ای js را دارند(به زودی قسمت های جدید برای این افراد اضافه خواهد شد) 2…
فصلِ: 2 , تعداد قسمت ها: 102 , سطح: صفر تا صد

این فصل در یک نگاه:

معرفی سنسور ها و قطعات خروجی…

توضیحات کلی مجموعه: ... با سلام خدمت شما کلیک سایتی های عزیز با جذاب ترین و کامل ترین دوره آموزش الکترونیک در خدمت شما هستیم. گاهی اوغات ایده ها یا اختراعی در حوزه الکترونیک به ذهن شما میرس…
فصلِ: 7 , تعداد قسمت ها: 401 , سطح: صفر تا صد

این فصل در یک نگاه:

در این فصل به بروزرسانی های جاوااسکریپت پرداخته می شود…

توجه: این دوره دائما توسط مهندس روشنایی (مدرس دوره) بروز گردیده و مطابق با آخرین استانداردهای برنامه نویسی آپدیت می شود. توجه فرمائید دریافت آپدیت ها برای خریداران قبلی رایگان می باشد و نیاز…
فصلِ: 3 , تعداد قسمت ها: 25 , سطح: صفر تا صد

این فصل در یک نگاه:

فصل سوم…

آموزش طراحی ریسپانسیو مدرن و جذابتر نسبت به بوتسرپ (همراه با ساخت صفحه اصلی و پنل یک آژانس مسافربری) آموزش پروژه محور فریمورک متریالایز برای اولین بار بین وب سایت های آموزشی آموزش تمامی …
فصلِ: 5 , تعداد قسمت ها: 77 , سطح: متوسط

این فصل در یک نگاه:

ساخت منوی مدیریت سایت،ایجاد بخش دسته بندی ها ، جدول نمایش دسته ها و ایجاد دسته جدید،ایجاد بخش ویژگی های یک دسته،ایجاد وی…

این مجموعه با تلفیقی از فریمورک bootstrap  و کد های html و css  ارائه گردیده و پیش نیاز این آموزش ، دوره دیجی کالای آقای مهندس بلاغی است چون این پروژه در قالب mvc پیاده گردیده و با توجه به ا…
فصلِ: 4 , تعداد قسمت ها: 78 , سطح: متوسط

این فصل در یک نگاه:

در این دوره آموزشی، وبسایت ورزش3 را با استفاده از ASP.NET Core پیاده سازی می کنیم و همچنین اپ اندروید آن را هم با Xamarin متصل به سرور سایت طراحی و در نهایت نحوه انتشار آن در مارکت هایی مثل …
فصلِ: 9 , تعداد قسمت ها: 215 , سطح: صفر تا صد

این فصل در یک نگاه:

در اصل فصل در مورد performance صحبت خواهیم کرد :-React Performance-Lazy-Error Boundaries و سایت را بر روی هاست واقعی قرا…

با سلام خدمت کلیک سایتی های عزیز، به دوره ی صفر تا صد طراحی سایت با react js خوش آمدید. نکته:این دوره کاملا پروژه محور میباشد نکته:این دوره هیچ پیش نیازی ندارد ReactJS  چیست؟ ReactJS اس…
فصلِ: 11 , تعداد قسمت ها: 162 , سطح: صفر تا صد

این فصل در یک نگاه:

در این فصل(فصل یازدهم مجموعه)،به طراحی CMS (سیستم مدیریت محتوا)اختصاصی فروشگاه می پردازیم.هدف از طراحی این بخش،آنست که م…

در این مجموعه آموزشی قصد داریم از صفر تا صد طراحی یک فروشگاه اینترنتی رو به صورت کامل آموزش بدهیم.این فروشگاه شامل تمامی بخش های مورد نیاز یک فروشگاه اینترنتی است. هدف از این مجموعه،آموزش…
فصلِ: 8 , تعداد قسمت ها: 77 , سطح: صفر تا صد

این فصل در یک نگاه:

  پیشنهاد میکنیم دمو دوره رو حتما مشاهده کنید با سلام خدمت دوستان عزیز . ابتدا عرض کنم که این دوره برای دوستانی آماده شده که میخوان وب اپلیکیشن های مدرنی رو طراحی بکنن و وارد بازار کار ط…
فصلِ: 5 , تعداد قسمت ها: 201 , سطح: صفر تا صد

این فصل در یک نگاه:

ایجاد پروژه آژانس مسافرتی.....…

فصل اول: آشنایی با مبانی برنامه نویسی اندروید   آشنایی با معماری برنامه های اندرویدی ساخت شبیه ساز جهت تست پروژه اندروید آشنایی با دستور Toast و حلقه for در برنامه های اندروی…
فصلِ: 1 , تعداد قسمت ها: 2 , سطح: متوسط

این فصل در یک نگاه:

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

  وبینار(سمینار آنلاین) آموزش تکنیک های ایمیل مارکتینگ   اگر تا انتها این متن را مطالعه کنید نظر شما در مورد ایمیل مارکتینگ 180 درجه عوض می شود!! بر هیچکس پوشیده نیست که از سال 1972 که ای…
فصلِ: 4 , تعداد قسمت ها: 368 , سطح: صفر تا صد

این فصل در یک نگاه:

مباحث تکمیلی فریم ورک لاراول…

فصل اول :آموزش مقدماتی فریم ورک لاراول معرفی فریم ورک لاراول و پیشنیازهای انجام کار انجام کانفیگ های اولیه برای نصب و راه اندازی فریم ورک معرفی روش های نصب پروژه لاراولی از طریق سایت گی…
فصلِ: 1 , تعداد قسمت ها: 155 , سطح: صفر تا صد

این فصل در یک نگاه:

مباحث مقدماتی فریم ورک react.js…

توضیحات کلی مجموعه: فصل اول : آشنایی با مباحث مقدماتی فریم ورک react.js نصب و راه اندازی node.js  و کلیه پیش نیازهای لازم نصب فریم ورک react روی لوکال و انجام تست های لازم آغاز آشنایی …
فصلِ: 1 , تعداد قسمت ها: 15 , سطح: متوسط

این فصل در یک نگاه:

رشد و درآمدزایی یک وب سایت یا کسب و کار اینترنتی کاملا به ذوق و مهارت وب مستر یا همان مدیر اصلی وب سایت گره خورده و متاس…

 اصول مدیریت وب سایت برای وب مستر شدن برای موفقیت یک وب سایت لازم الاجراست. زیرا شما دوست دارید وب سایت خود را به کارخانه پولسازی تبدیل کنید. این واقعیت رویا نیست. هرکس این اصول را بداند به …

تولید شده توسط کلیک سایت

پشتیبانی آنلاین
آماده پاسخگویی هستیم
انتخاب تصویر جهت ارسال:
در حال ضبط صدا

(جهت توقف و یا لغو ضبط از دکمه های زیر استفاده کنید)

توقف و ارسال :
لغو ضبط
در حال حاضر تمامی کارشناسان آفلاین هستند. همواره می توانید با شماره تلگرام / واتساپ 09010005000 به صورت آنلاین با ما در ارتباط باشید. جهت ورود به واتساپ کلیک کنید
0 پیام جدید
پشتیبان در حال تایپ ...
ارسال تصویر ضبط صدا
0 کارشناسان آنلاین می باشند
این گفت و گو توسط پشتیبان به اتمام رسید