Web uygulamalarımızın kapsam, hedef ve işlevleri açısından büyümeye devam etmesi güzel bir gelişme. Ancak daha zengin bir web deneyimine doğru durmadan yol alırken başka bir trend daha ortaya çıkıyor: Her uygulama tarafından indirilen veri miktarı sabit bir şekilde artmaya devam ediyor. Mükemmel performans sağlamak için her bir baytın iletimini optimize etmemiz gerekiyor.
Modern web uygulaması nasıl görünür? HTTP Arşivi, bu soruyu yanıtlamamıza yardımcı olabilir. Proje, en popüler siteleri (Alexa İlk 1 milyon listesinde 300.000'in üzerinde) düzenli aralıklarla tarayarak ve her bir hedef için kaynakların, içerik türlerinin ve diğer meta verilerin kaydedilip toplanmasıyla 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ış eğilimini gösterir. Elbette, her site aynı hızda büyümez veya aynı miktarda veri gerektirmez; bu nedenle, dağılımdaki farklı yüzdelik dilimleri vurgulamamızın nedeni 50. (ortanca), 75. ve 90. yüzdelik dilimlerdir.
2014'ün başlarındaki bir medyan site, toplam aktarılan bayt sayısının 1.054 KB'ı olan 75 istekten oluşmaktadır ve toplam bayt (ve istek) sayısı önceki yıl boyunca sabit bir oranda artmıştır. Bu tek başına bu kadar şaşırtıcı olmasa da önemli performans sonuçları doğurur: Evet, internet hızları yükseliyor ancak farklı ülkelerde farklı hızlarda hızlanıyor ve birçok kullanıcı özellikle mobilde hâlâ veri sınırlarına ve pahalı ölçüm planlarına tabi.
Masaüstü muadillerinden farklı olarak web uygulamaları için ayrı bir yükleme işlemi gerekmez. URL'yi girin ve biz de web'in temel özelliklerinden biri olan bu özelliği çalışır ve çalışır duruma getiriyoruz. Ancak bunu yapabilmek için genellikle düzinelerce, bazen de yüzlerce farklı kaynağı getirmemiz gerekir. Bunların tümü megabaytlara kadar veri sağlayabilir ve hedeflediğimiz hazır web deneyimini kolaylaştırmak için yüzlerce milisaniyede bir araya getirilmesi gerekir.
Bu gereksinimler ışığında bir hazır web deneyimi elde etmek kolay bir iş değildir. Bu nedenle içerik verimliliğini optimize etmek büyük önem taşır. Gereksiz indirmeleri ortadan kaldırmak, çeşitli sıkıştırma teknikleri sayesinde her kaynağın aktarım kodlamasını optimize etmek ve gereksiz indirmeleri ortadan kaldırmak için mümkün olduğunda önbelleğe alma özelliğini kullanmak önemlidir.