מהם קובצי cookie?

האינטרנט מתוכנן כך שכל בקשה מדפדפן אינטרנט לאתר היא נפרדת. מעצם הגדרתו, לאינטרנט אין 'זיכרון'. בכל פעם שפותחים דף אינטרנט, האתר שבו מבקרים לא יכול לזכור מידע מהסשן האחרון. כך האינטרנט יעיל ופשוט יותר, כי אין צורך במנגנון למעקב אחרי בקשות ותשובות.

אבל יש גם בעיה באינטרנט: הוא שוכח. לדוגמה, איך אפשר להשתמש בעגלת קניות אם האתר שבו אתם נמצאים לא יכול לזכור מה שמתם בה?

קובצי Cookie הומצאו כדי לפתור את הבעיה הזו.

קובצי cookie מעניקים לאתרים זיכרון

כשאתם נכנסים לדף באתר, דפדפן האינטרנט שולח בקשות לשרת של האתר לגבי המשאבים שכלולים בדף, כמו HTML,‏ CSS,‏ JavaScript או תמונות.

דפדפני אינטרנט ואתרים יוצרים אינטראקציה בהתאם לפרוטוקול HTTP. זוהי קבוצה סטנדרטית של כללים לתקשורת.

בתגובה לבקשת HTTP למשאב, שרת האתר יכול לכלול מידע נוסף שנקרא כותרות יחד עם המשאב עצמו. כותרת Set-Cookie שכלולה בתגובת HTTP מורה לדפדפן לאחסן טקסט מסוים: שם וערך. הנתונים האלה נקראים קובצי cookie. לדוגמה, כותרת התגובה Set-Cookie:cat=tabby מורה לדפדפן לשמור עוגיה בשם cat ובערך tabby.

אחרי שה-cookie הזה יוגדר, בקשות הבאות מהדפדפן לאתר יכללו את הכותרת Cookie:cat=tabby. שרת האתר יכול לגשת לקובץ ה-cookie מכותרת הבקשה ולהשתמש בערך.

איך פועלים קובצי cookie: הסבר מפורט

נניח שאתם נכנסים לאתר cats.example. האתר רוצה להציג לכם תמונה אקראית של חתול ולשמור תיעוד של החתול שמוצג לכם.

בשלבים הבאים מוסבר איך אפשר לעשות זאת באמצעות קובצי cookie.

1. הדפדפן מבקש קובץ

נכנסים לדף הבית של האתר cats.example.

הדפדפן מבקש את הקבצים שבדף, כולל cat.jpg מ-cats.example.

בקשת HTTP אל https://cats.example/cat.jpg

2. השרת של האתר מגיב

השרת בכתובת cats.example משיב עם קובץ התמונה cat.jpg.

התשובה מהשרת כוללת את הכותרת: Set-Cookie:cat=tabby.

תגובת HTTP מ-https://cats.example/cat.jpg, עם הכותרת Set-Cookie:cat=tabby

3. הדפדפן מקבל תשובה

הדפדפן מקבל את קובץ התמונה ומעבד את הכותרת Set-Cookie:cat=tabby שכלולה בו.

קובץ cookie מאוחסן: שם cat, ערך tabby.

חתול הקוקייה בדפדפן אינטרנט במחשב נייד.

4. הדפדפן שולח בקשות נוספות

מעכשיו והלאה, הדפדפן יכלול את הכותרת Cookie:cat=tabby בבקשות אל cats.example.

בקשת HTTP אל https://cats.example/cat.jpg, עם כותרת Cookie:cat=tabby

כששרת האינטרנט cats.example מקבל בקשה, הוא יכול לעבד את קובץ ה-cookie ולעשות מה שהוא רוצה עם הערך הזה – למשל, לוודא שהוא לא שולח לכם שוב תמונה של אותו חתול כתום.

זהו התהליך המלא של קובצי ה-cookie:

  1. הדפדפן שולח בקשה לאתר לקבלת קובץ.
  2. השרת של האתר יכול לכלול כותרת כמו Set-Cookie:cat=tabby יחד עם הקובץ שהוא שולח בתגובה לבקשה.
  3. כשהדפדפן מקבל את התשובה, הוא שומר את קובץ ה-cookie.
  4. בכל בקשה נוספת, הדפדפן שולח את קובץ ה-cookie לשרת בכותרת Cookie:cat=tabby.


תרשים רצף שבו מוצגות בקשות ותשובות בין דפדפן אינטרנט, cats.example ו-cats.example, שבו מוצג האופן שבו קובצי cookie מוגדרים ונשלחים.

גישה לקובצי cookie באמצעות JavaScript

בדוגמה הקודמת נעשה שימוש בכותרת התגובה Set-Cookie כדי להגדיר קובץ cookie.

אפשר גם ליצור קובצי cookie באמצעות JavaScript באמצעות השיטה document.cookie.

אפשר לנסות את הדגמה: javascript-cookie.glitch.me/.

מידע נוסף זמין במאמר מסמך: מאפיין cookie.

למה אנחנו צריכים קובצי cookie?

בשנת 1994, המהנדס לו מונטולי (Lou Montulli) עבד בחברת התוכנה Netscape, שהפכה לחברה שיצרה את דפדפן האינטרנט הפופולרי ביותר באמצע שנות ה-90. בינתיים, חברת התקשורת MCI ניסתה ליצור תכונה של עגלת קניות לאחת מהחנויות הווירטואליות הראשונות בעולם. חברת MCI יצרה קשר עם Montulli כדי להסביר את הבעיה. בתגובה, Montulli הוסיף ל-HTTP תכונה שמאפשרת לאתר לאחסן כמות קטנה של טקסט בדפדפן האינטרנט של המשתמש, שם וערך: משהו כמו cart-id=123. הוא קרא לו 'cookie', כי בימים ההם מתכנתים השתמשו במילה 'magic cookie' (קובץ cookie קסום) כדי לתאר פיסת מידע קטנה נוספת שכלולה בתקשורת הנתונים.

לואי השלים את העבודה על קובצי ה-cookie מסוג HTTP תוך פחות משבוע. הוא לא ידע שקובצי cookie יהיו חיוניים לפרסום, לכניסה לחשבון, לתשלומים, לזיהוי הונאות ולשירותי אינטרנט חיוניים אחרים. קובצי Cookie הם טכנולוגיה פשוטה מאוד שיש לה השפעות מרחיקות לכת.

שימושים בקובצי cookie

קובצי Cookie מאפשרים לדפדפן לאחסן כמות קטנה של מידע על המשתמש, כדי "לזכור" משהו במספר בקשות. לקובצי cookie יש כמה שימושים:

  • ניהול סשנים
    מאפשר לאתר לזהות משתמש, למשל כדי לשמור על מצב של כניסה בדפים שונים.
  • התאמה אישית
    אחסון העדפות המשתמש, כמו שפה, עיצוב או פריטים שנצפו לאחרונה, כדי להתאים אישית את חוויית השימוש באתר.
  • מעקב
    בעבר, קובצי cookie שימשו למעקב אחרי התנהגות המשתמשים באתרים שונים, לצורך פרסום מותאם אישית ולתרחישים אחרים.

במקום זאת, קובצי cookie משמשים בדרך כלל לשמירת מזהים ולתקשורת איתם, והשרת מעבד אותם. לדוגמה, כותרת עם בקשה לשירות של ניתוח נתוני אינטרנט עשויה לכלול קובץ cookie כזה:

Cookie: _analytics=ANALYTICS1.2.34567890.123456789

שרת Analytics שמקבל את הבקשה יכול לעבד את המזהה יחד עם מידע נוסף על הדף.

למידע נוסף