Içerik Verimliligini Optimize Etme

Web uygulamalarimiz kapsam, tutku ve islevsellik açisindan büyümeye devam eder. Bu iyi bir seydir. Ancak, daha zengin bir web'e dogru araliksiz yapilan bu yürüyüs baska bir trendi de beraberinde getirir: Her bir uygulama tarafindan indirilen veri miktari sabit bir hizla artmaya devam etmektedir. Harika bir performans saglamak için her bayt verinin teslimini optimize etmemiz gerekir!

Modern bir web uygulamasi nasil görünür? HTTP Archive, bu sorunun yanitini bulmamiza yardim edebilir. Proje, en popüler siteleri (Aleksa Ilk 1M listesindeki 300.000'den fazla site) periyodik bir sekilde tarayip kaydederek ve bagimsiz her bir hedefe iliskin kaynak sayisi, içerik türleri ve diger meta verilerle ilgili analizleri toplayarak web'in nasil olusturuldugunu izlemektedir.

HTTP Archive trendleri

%50 %75 %90
HTML 13 KB 26 KB 54 KB
Resimler 528 KB 1213 KB 2384 KB
JavaScript 207 KB 385 KB 587 KB
CSS 24 KB 53 KB 108 KB
Diger 282 KB 308 KB 353 KB
Toplam 1054 KB 1985 KB 3486 KB

Yukaridaki veriler, Ocak 2013 ile Ocak 2014 arasinda web'deki popüler hedefler için indirilen bayt sayisindaki büyüme trendini yakalar. Elbette, her site ayni hizda büyümez veya ayni miktarda veri gerektirmez; bu yüzden dagitim içindeki farkli yüzdelik dilimleri vurguladik: 50 (orta), 75 ve 90.

2014'ün basinda ortalama bir site, toplam 1054 KB bayt aktaran 75 istekten olusuyordu ve toplam bayt (ve istek) sayisi önceki yil boyunca sabit bir hizda büyüdü. Tek basina bu çok sasirtici olmamakla birlikte önemli performans çikarimlari tasir: Evet, Internet hizlari giderek yükseltmektedir, ancak farkli ülkelerde farkli hizlarda artar ve birçok kullanici, özellikle mobil kullanim açisindan hâlâ veri sinirlamalarina ve ölçülen, pahali tarifelere tabidir.

Masaüstü benzerlerinden farkli olarak, web uygulamalari ayri bir yükleme süreci gerektirmez: URL'yi girersiniz ve uygulama çalismaya hazirdir. Bu, web'in önemli bir özelligidir. Bununla birlikte, bunun olmasi için genellikle çesitli kaynaklari onlarca, hatta bazen yüzlerce kez getirmemiz gerekir. Bunlarin tümü megabaytlarca veri eder ve hedefledigimiz aninda web deneyimini kolaylastirmak için yüzlerce milisaniyede bir araya getirilmeleri gerekir.

Bu gereksinimlerin isiginda bir aninda web deneyimini gerçeklestirmek küçük bir is degildir, bu yüzden de içerik verimliliginin optimize edilmesi kritik öneme sahiptir: Gereksiz indirmelerin çikarilmasi, çesitli sikistirma teknikleriyle her bir kaynagin aktarim kodlamasinin optimize edilmesi ve yedek indirmeleri ortadan kaldirmak için mümkün oldugunda önbellege almadan yararlanilmasi.