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

Ilya Grigorik
Ilya Grigorik

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

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

מגמות ב-HTTP Archive

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

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

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

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

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