بهینه‌سازی کارایی محتوا

برنامه‌های وب ما ازنظر دامنه، هدف، و عملکرد همچنان درحال رشد هستند -- این چیز خوبی است. بااین‌حال، حرکت بی‌وقفه به‌سمت وب غنی‌تر، روند دیگری را ایجاد می‌کند: مقدار داده‌های بارگیری‌شده توسط هر برنامه با سرعت ثابتی درحال افزایش است. برای ارائه عملکرد عالی، باید ارسال هر بایت را بهینه‌سازی کنیم!

یک برنامه وب مدرن چه شکلی است؟ بایگانی HTTP می‌تواند به ما در پاسخ به این سؤال کمک کند. این پروژه با خزیدن دوره‌ای در پرطرفدارترین سایت‌ها (بیش‌از ۳۰۰٬۰۰۰ سایت از فهرست ۱ میلیون سایت برتر Alexa) و ثبت و جمع‌آوری تجزیه‌وتحلیل‌ها درباره تعداد منابع، انواع محتوا، و دیگر فراداده‌ها برای هر مقصد به‌طور جداگانه، نحوه ساخت وب را ردیابی می‌کند.

روندهای بایگانی HTTP

پنجاهمین صدک هفتاد و پنجمین صدک صدک ۹۰
HTML ۱۳ کیلوبایت ۲۶ کیلوبایت ۵۴ کیلوبایت
تصاویر ‫۵۲۸ کیلوبایت ‫۱۲۱۳ کیلوبایت ۲۳۸۴ کیلوبایت
JavaScript ‫۲۰۷ کیلوبایت ۳۸۵ کیلوبایت ۵۸۷ کیلوبایت
CSS ۲۴ کیلوبایت ۵۳ کیلوبایت ‫۱۰۸ کیلوبایت
غیره ۲۸۲ کیلوبایت ۳۰۸ کیلوبایت ‫۳۵۳ کیلوبایت
جمع ۱۰۵۴ کیلوبایت ۱۹۸۵ کیلوبایت ۳۴۸۶ کیلوبایت

داده‌های بالا روند رشد تعداد بایت‌های بارگیری‌شده برای مقصدهای محبوب در وب را بین ژانویه ۲۰۱۳ و ژانویه ۲۰۱۴ نشان می‌دهد. البته همه سایت‌ها با نرخ یکسانی رشد نمی‌کنند یا به مقدار یکسانی داده نیاز ندارند، به همین دلیل است که چندک‌های مختلف را در توزیع برجسته می‌کنیم: پنجاهم (میانه)، هفتادوپنجم، و نودم.

یک سایت متوسط در ابتدای سال ۲۰۱۴ از ۷۵ درخواست تشکیل شده است که در مجموع ۱۰۵۴ کیلوبایت از کل بایت‌های منتقل‌شده را تشکیل می‌دهد و تعداد کل بایت‌ها (و درخواست‌ها) با سرعت ثابتی در طول سال گذشته رشد کرده است. این موضوع به‌خودی‌خود نباید چندان تعجب‌آور باشد، اما پیامدهای مهمی برای عملکرد دارد: بله، سرعت اینترنت درحال افزایش است، اما این افزایش با نرخ‌های متفاوتی در کشورهای مختلف رخ می‌دهد و بسیاری از کاربران همچنان با محدودیت‌های داده و طرح‌های گران‌قیمت حجمی مواجه هستند - به‌ویژه در تلفن همراه.

برخلاف همتایان دسکتاپ خود، برنامه‌های وب نیازی به فرایند نصب جداگانه ندارند: نشانی وب را وارد کنید و ما آماده و درحال اجرا هستیم -- این یک ویژگی کلیدی وب است. اما برای اینکه این اتفاق بیفتد، اغلب باید ده‌ها و گاهی صدها منبع مختلف را واکشی کنیم که همه آن‌ها می‌توانند به مگابایت‌ها داده اضافه شوند و باید در صدها میلی‌ثانیه گرد هم آیند تا تجربه وب فوری را که هدف ما است تسهیل کنند.

دستیابی به تجربه وب فوری با توجه به این الزامات کار کوچکی نیست، به همین دلیل بهینه‌سازی کارایی محتوا بسیار مهم است: حذف بارگیری‌های غیرضروری، بهینه‌سازی کدگذاری انتقال هر منبع ازطریق تکنیک‌های مختلف فشرده‌سازی، و استفاده از حافظه پنهان در هر زمان ممکن برای حذف بارگیری‌های زائد.