Web uygulamalarımız kapsam, hedef ve işlevsellik açısından büyümeye devam ediyor. Bu iyi bir şey. Ancak daha zengin bir web'e doğru aralıksız ilerleme, başka bir trendi de tetikliyor: Her uygulama tarafından indirilen veri miktarı istikrarlı bir şekilde artmaya devam ediyor. Mükemmel bir performans sunmak için her bir baytın yayınını optimize etmemiz gerekir.
Modern web uygulamaları nasıl görünür? HTTP Arşivi bu soruyu yanıtlamamıza yardımcı olabilir. Proje, en popüler siteleri (Alexa'nın ilk 1 milyon listesinden 300.000'den fazla site) düzenli olarak tarayarak ve her hedef için kaynak sayısı, içerik türleri ve diğer meta verilerle ilgili analizleri kaydedip toplayarak web'in nasıl oluşturulduğunu izler.
Yukarıdaki veriler, Ocak 2013 ile Ocak 2014 arasında web'deki popüler hedefler için indirilen bayt sayısındaki artış trendini göstermektedir. Elbette her site aynı hızda büyümez veya aynı miktarda veri gerektirmez. Bu nedenle, dağılımdaki farklı yüzdelik dilimleri (50. [ortalama], 75. ve 90.) vurgulamaktayız.
2014'ün başındaki ortalama bir site, toplam 1.054 KB aktarılan bayta eşit 75 istekten oluşur ve toplam bayt sayısı (ve istek sayısı) önceki yıl boyunca sabit bir hızda artmıştır. Bu durum tek başına çok şaşırtıcı olmasa da performans açısından önemli sonuçlara yol açıyor: Evet, internet hızları artıyor ancak farklı ülkelerde farklı hızlarda artıyor ve birçok kullanıcı hâlâ veri sınırlamalarına ve pahalı, kotalı planlara tabi (özellikle mobil cihazlarda).
Masaüstü sürümlerinden farklı olarak web uygulamaları ayrı bir yükleme işlemi gerektirmez. URL'yi girmeniz yeterlidir. Bu, web'in önemli bir özelliğidir. Ancak bunu gerçekleştirmek için genellikle düzinelerce, bazen de yüzlerce farklı kaynağı getirmemiz gerekir. Bu kaynaklar, megabaytlarca veri içerebilir ve hedeflediğimiz anlık web deneyimini kolaylaştırmak için yüzlerce milisaniye içinde bir araya getirilmelidir.
Bu şartlar göz önüne alındığında anında web deneyimi sunmak hiç de kolay değildir. Bu nedenle, içerik verimliliğini optimize etmek çok önemlidir: Gereksiz indirmeleri ortadan kaldırma, çeşitli sıkıştırma teknikleri aracılığıyla her kaynağın aktarım kodlamasını optimize etme ve mümkün olduğunda önbelleğe alma özelliğinden yararlanarak gereksiz indirmeleri ortadan kaldırma.