מה שנשמר ב-cookie נשמר על דפדפן הלקוח.
מה שנשמר ב-session נשמר על השרת.כשמשתמש מתחבר למערכת כלשהי,
צריך להשתמש במידע אודותיו על מנת שיוכל לבצע פעולות במערכת.
למשל - במערכת ״פתקים״ כמו שציינת:
כשמשתמש יכתוב ״פתק״, לדוגמא - נרצה שלפתק הזה יצורף השם הפרטי שלו.
אם נאחסן את השם הפרטי של המשתמש בקוקי,
הוא יוכל לערוך את הפרטים שלו בקלות על ידי שינוי ערך המשתנה בעוגייה,
כך יוכל לבצע כתיבת הודעה בשם בדוי במקום שמו האמיתי.
אז מה עושים?
על העוגייה בדרך כלל מאחסנים פרטים מינימליים, מוצפנים, רק כדי שהשרת
יוכל לדעת ב-100% שזה המשתמש (למשל: שם משתמש וסיסמא מוצפנים).
במידה ויש זיהוי מול השרת, את שאר הפרטים ה״רגישים״ מאחסנים במידע זמני -
בד״כ סשן.
אם תרצה להמנע מ-sessions, תצטרך בכל בקשה של הלקוח
לבדוק את ה credentials שלו ולהצליב אותם מול, ככל הנראה, הדטאבייס.
בכל בקשה של הלקוח תצטרך לאחסן את פרטיו על משתנים זמניים שרלוונטים לזמן הריצה הספציפי של העמוד.
זו פעולה שלוקחת זמן. היא בזבזנית,
היא צורכת open connections מול הדטאבייס ומציפה אותו בקריאות חסרות טעם.
זה גם ישפיע במידה ניכרת על זמן הטעינה של העמוד.
תחשוב,
במקום בפעם אחת לשלוף את הפרטים בהתחברות ולאחסן אותם ב-session צף,
תצטרך לעשות זאת בכל קריאה מחדש.
במאסות גדולות של משתמשים, סנריו כזה יכול, תאמין או לא,
אפילו למוטט שרתים.
החוכמה באופימיזציות של צד שרת היא להמעיט בקריאות ל-resources דינמיים,
ולבצע שליפות כמה שיותר פשוטות וסטטיות על מידע שצף וזמין מזיכרון נוזלי ומהיר.
בהצלחה.
