Aplikasi web kami terus berkembang dalam cakupan, ambisi, dan fungsinya -- itu hal yang baik. Namun, kemajuan yang tak henti-hentinya menuju web yang lebih kaya mendorong tren lain: jumlah data yang didownload oleh setiap aplikasi terus meningkat dengan kecepatan yang stabil. Untuk memberikan performa yang luar biasa, kita perlu mengoptimalkan pengiriman setiap byte.
Seperti apa tampilan aplikasi web modern? HTTP Archive dapat membantu kita menjawab pertanyaan ini. Project ini melacak cara web dibuat dengan meng-crawl situs paling populer secara berkala (lebih dari 300.000 dari daftar Alexa Top 1M) serta mencatat dan menggabungkan analisis tentang jumlah resource, jenis konten, dan metadata lainnya untuk setiap tujuan.
Data di atas menunjukkan tren pertumbuhan jumlah byte yang didownload untuk tujuan populer di web antara Januari 2013 dan Januari 2014. Tentu saja, tidak semua situs tumbuh dengan kecepatan yang sama atau memerlukan jumlah data yang sama. Itulah sebabnya kami menyoroti berbagai kuartil dalam distribusi: kuartil ke-50 (median), ke-75, dan ke-90.
Situs median pada awal tahun 2014 terdiri dari 75 permintaan yang berjumlah total 1.054 KB byte yang ditransfer, dan jumlah total byte (dan permintaan) telah tumbuh dengan kecepatan yang stabil sepanjang tahun sebelumnya. Hal ini seharusnya tidak terlalu mengejutkan, tetapi hal ini memiliki implikasi performa yang penting: ya, kecepatan internet semakin cepat, tetapi kecepatannya semakin cepat dengan kecepatan yang berbeda di berbagai negara, dan banyak pengguna masih tunduk pada batas data dan paket berbayar yang mahal - terutama di perangkat seluler.
Tidak seperti aplikasi desktop, aplikasi web tidak memerlukan proses penginstalan terpisah: masukkan URL dan aplikasi akan siap digunakan -- itulah fitur utama web. Namun, untuk mewujudkan hal ini, kita sering kali harus mengambil puluhan, dan terkadang ratusan, berbagai resource, yang semuanya dapat berjumlah hingga beberapa 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 yang mudah, itulah sebabnya mengoptimalkan efisiensi konten sangatlah penting: menghilangkan download yang tidak perlu, mengoptimalkan encoding transfer setiap resource melalui berbagai teknik kompresi, dan memanfaatkan penyimpanan dalam cache jika memungkinkan untuk menghilangkan download yang berlebihan.