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