אופטימיזציה של יעילות התוכן

איליה גריגוריק
איליה גריגוריק

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

איך נראית אפליקציית אינטרנט מודרנית? נשמח לקבל תשובה לשאלה הזו בארכיון HTTP. הפרויקט עוקב אחר האופן שבו האינטרנט נבנה על ידי סריקה תקופתית של האתרים הפופולריים ביותר (300,000+ מרשימת המיליון המובילים ב-Alexa) ותיעוד וצבירה של ניתוחי נתונים לגבי מספר המשאבים, סוגי התוכן ומטא נתונים אחרים עבור כל יעד בנפרד.

מגמות בארכיון HTTP

האחוזון ה-50 אחוזון 75 האחוזון ה-90
HTML 13 KB 26 KB 54 KB
תמונות 528 KB 1,213 KB 2384 KB
JavaScript 207 KB 385 KB 587 KB
CSS 24 KB 53 KB 108 KB
אחר 282 KB 308 KB 353 KB
סה"כ 1054 KB 1985 KB 3486 KB

הנתונים שלמעלה משקפים את מגמת העלייה במספר הבייטים שהורדו ליעדים פופולריים באינטרנט בין ינואר 2013 לינואר 2014. כמובן, לא כל אתר גדל באותו קצב או דורש כמות זהה של נתונים, ולכן אנו מדגישים את האחוזים השונים בתוך ההתפלגות: 50 (חציון), 75 ו-90.

אתר חציוני בתחילת שנת 2014 מורכב מ-75 בקשות שמהוות עד 1,054KB מסך הבייטים שהועברו, והמספר הכולל של הבייטים (והבקשות) גדל בקצב יציב במהלך השנה הקודמת. זה לא אמור להפתיע, אבל יש לזה השלכות חשובות על הביצועים: כן, מהירויות האינטרנט הופכות למה יותר מהר, אבל במדינות שונות הן נהיות מהירות יותר בקצבים שונים. כמו כן, משתמשים רבים עדיין כפופים למכסות נתונים ולתוכניות יקרות של מכסת מאמרים ללא תשלום – במיוחד בניידים.

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

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