Cookie הוא קובץ טקסט קטן שדפדפנים מאפשרים לאתרים ודפי אינטרנט ליצור בדיסק הקשיח של הגולשים. Cookie הוא אמצעי יעיל ונוח לשמור מידע ספציפי לגולש. למשל אם האתר שלכם מאפשר לבחור את צבע הרקע של דף מסוים אזי זה יהיה רעיון טוב לשמור צבע זה בדיסק הקשיח של הגולש בעזרת Cookie ובכל פעם שהגולש נכנס לאתרכם לגשת ולקרוא את הצבע שבו בחר ולשנות את צבע הרקע של הדף בהתאם.
Cookie משויך לאתר אינטרנט ולא לדף מסוים בו. משמעות הדבר היא שניתן לכתוב Cookies מדף אחד באתר ולקרוא את אותו Cookie מדף אחר לגמרי. יש העושים שימוש בתכונה זו כדי להעביר משתנים ופרטים אחרים מדף אחד לדף אחר או בתוך הדף עצמו במקרים של אתרים שנכתבו בסקריפט הרץ על השרת - Server site scripting.
נעשה ב - Cookies שימוש על מנת לשמור מידע מיוחד לגולש על המחשב שלו כדי שבפעם הבאה שהגולש ייבקר באתר שלנו נוכל להתאימו אליו באופן אישי. אין מגבלה למספר ה - Cookies שאתר אחד יכול לשמור בדיסק הקשיח של הגולש.
כל Cookie מורכב משלושה חלקי מידע:
1. תיאור מידע וערך תואם לתיאור זה. התיאור למשל יכול להיות bgColor והערך יהיה: RED .
2. תאריך שבו יפוג תוקפו של ה - Cookie. מרגע שפג תוקפו של Cookie אזי מבחינת השרת השולח הוא לא יהיה קיים יותר.
3. דומיין והדרך לדומיין. למשל: www.codeanan.co.il דבר זה חשוב משום שכך נוצר הקשר בין ה - cookie לבין הדומיין שאליו הוא שייך ואשר אליו יישלח ה - Cookie אם המשתמש יגלוש שוב באתר זה. באמצעות ערך זה ניתן גם לשלוט לאיזה דפים ה - Cookie יישלח. ניתן לציין דף ספציפי או ספריה של דפים. למשל www.codeanan.co.il/javascript יגרום לכך שכל Cookie שאצור באתר זה יישלח לדפים מהספריה Javascript.
דוגמת קוד לכתיבת COOKIE באמצעות Javascript:
function WriteCookie(name, value, days)
{
var date = new Date();
date.setTime(date.getTime()+(days*24*60*60*1000));
var expires = "; expires="+date.toGMTString();
}
else var expires = "";
document.cookie = name+"="+value+expires+"; path=/";
}
הפונקציה המתוארת בדוגמה למעלה מקבלת שלושה ערכים: את שם ה - Cookie; את התיאור והערך הצמוד לו ואת מספר הימים שבהם ה - Cookie יהיה תקף.
דוגמת קוד לקריאת Cookie:
function readCookie(name)
{
var ca = document.cookie.split(';');
var nameEQ = name + "=";
for(var i=0; i < ca.length; i++) {
var c = ca[i];
while (c.charAt(0)==' ') c = c.substring(1, c.length); //delete spaces
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);
}
return null;
}
הפונקציה למעלה מקבלת כמשתנה את שם ה - Cookie שאותו אנו רוצים לקרוא ומחזירה את הערכים שבו, אם הם קיימים, ואם לא היא מחזירה NULL.
אם מצאת את המדריך מועיל ייתכן ותמצא עניין גם במאמרים ובמדריכים הבאים:
קריאה וכתיבה של Cookies ב - ASP.NET מאמרים קשורים נוספים...