Aplikasi web kita terus berkembang dalam cakupan, ambisi, dan fungsionalitasnya -- ini hal yang bagus. Namun, perjalanan tanpa henti menuju web yang lebih kaya mendorong tren lain: jumlah data yang didownload oleh setiap aplikasi terus meningkat dengan kecepatan stabil. Untuk menghasilkan performa terbaik, kita perlu mengoptimalkan pengiriman setiap byte.
Seperti apa aplikasi web modern? Arsip HTTP dapat membantu kami menjawab pertanyaan ini. Proyek ini melacak bagaimana web dibangun dengan meng-crawl situs terpopuler secara berkala (lebih dari 300.000 situs dari daftar 1 juta Teratas Alexa) serta merekam dan menggabungkan analisis tentang jumlah resource, jenis konten, dan metadata lainnya untuk setiap tujuan.
Data di atas menangkap tren pertumbuhan jumlah byte yang diunduh untuk tujuan populer di web antara Januari 2013 dan Januari 2014. Tentu saja, tidak setiap situs tumbuh pada tingkat yang sama atau membutuhkan jumlah data yang sama, oleh karena itu alasan mengapa kami menyoroti kuantil yang berbeda dalam distribusi: 50 (median), 75, dan ke-90.
Situs median di awal tahun 2014 terdiri dari 75 permintaan yang berjumlah 1.054 KB dari total byte yang ditransfer, dan jumlah total byte (dan permintaan) telah berkembang dengan kecepatan stabil di sepanjang tahun sebelumnya. Seharusnya tidak terlalu mengejutkan, tetapi ini membawa implikasi performa yang penting: ya, kecepatan internet semakin cepat, tetapi semakin cepat pada kecepatan yang berbeda di berbagai negara, dan banyak pengguna masih tunduk kepada batas data dan paket berkuota yang mahal - terutama di perangkat seluler.
Tidak seperti aplikasi desktop, aplikasi web tidak memerlukan proses penginstalan terpisah: masukkan URL dan kami sudah aktif -- ini adalah fitur utama web. Namun, untuk mewujudkannya, kita sering kali harus mengambil lusinan, dan terkadang ratusan, berbagai resource, yang semuanya dapat berjumlah hingga megabyte data dan harus digabungkan dalam ratusan milidetik untuk memfasilitasi pengalaman web instan yang kita inginkan.
Mencapai pengalaman web instan dengan mempertimbangkan persyaratan ini bukanlah hal kecil. Itulah sebabnya pengoptimalan efisiensi konten sangatlah penting: menghilangkan download yang tidak perlu, mengoptimalkan encoding transfer setiap resource melalui berbagai teknik kompresi, dan memanfaatkan penyimpanan cache jika memungkinkan untuk menghilangkan download yang berlebihan.