HTTP/2 Dünyasında Performans Optimizasyonu
Web mimarisinin temelinde dönüşümler devam ediyor. HTTP, tarayıcınızın sitenize bağlanmak için kullandığı protokolün yeni bir sürümü var: HTTP/2. Bu değişim ortalama kullanıcıyı ilgilendiren bir şey değil iken web geliştiricileri için performans optimizasyonunu tamamen nasıl yaptığımızı değiştiriyor. Bu kısa makalede, performans optimizasyonuyla ilgili en iyi uygulamaların neler olduğunu ve nedenini açıklamak istiyoruz.
Yazı İndeksi
Ne Değişti?
Yeni HTTP/2 hakkında bilmeniz gereken en önemli şey, her dosya için artık yeni bir istek gerektirmediğidir. Performans optimizasyon kurallarımızı bu kadar büyük ölçüde değiştiren bu değişikliktir. HTTP1 / HTTP/1.1 dünyasında, JS ve CSS dosyalarını hatta görüntüleri birleştirmek daha hızlı tepki süresi sağlıyordu. Dolayısıyla tarayıcı ve sunucu arasında daha az istek oluyordu. HTTP/2 dünyasında, bu optimizasyona artık ihtiyaç duyulmayacağından birleştirme işlemi verimsiz hale gelebilir.
Şimdiden Kullanabilir miyim?
Cevap oldukça basit: Evet. Siteniz HTTPS üzerinde çalışıyorsa, tüm önemli tarayıcılar HTTP/2’yi destekler. Siz veya barındırma şirketiniz, HTTP/2’yi desteklediğinden emin olmak için sunucu yapılandırılmanızın değiştirilmesi gerekebilir. Bazı eski tarayıcılar bunu kullanamayabilir, ancak siteniz onlar için hala çalışacaktır. Sitenizi test etmek isterseniz. https://tools.keycdn.com/http2-test adresinden kontrol edebilirsiniz.
HTTP/2 Kullanmalı mıyım?
Evet, HTTP / 2 kullanmalısınız! Eski moda HTTP 1’den çok daha hızlıdır ve onu iyi kurduğunuzda ziyaretçilerinizin büyük kısmı fayda sağlayacaktır.
HTTP/2 ile CDN’ye ihtiyacım olmadığı anlamına mı geliyor?
Hatta HTTP/2 ile bir CDN’ye ihtiyacınız var. Bir CDN, içeriğinizi şimdiye kadarki ortalama sunucunuz dan çok daha hızlı bir şekilde gönderir, bu nedenle sitenizin CDN hizmetine fazlasıyla ihtiyacı var. Büyük CDN hizmet sağlayıcıları zaten HTTP/2’yi desteklemektedir.
Değişen performansa ilişkin en iyi uygulamalar
Aşağıdaki performans artırma uygulamalarına artık HTTP/2 ile ihtiyaç duyulmamaktadır ve aşağıdakilerle birlikte yapılmalıdır:
- CSS ve JS dosyalarını bitiştirme
Talep sayısının azaltılması artık bir sorun sayılmaz, artık bunu yapmak için bir neden yok. - Resim birleştirme
Resim birleştirme, istek sayısını azaltmak için birkaç küçük görüntüyü daha büyük bir görüntüye birleştiren bir uygulamadır. Bu, oldukça yük bindiren hantal bir süreçtir ve HTTP/2 tamamen bu gereksinimi ortadan kaldırır. - Alan adı yönlendirmeleri
Alan adı yönlendirmelerinin az olmasına rağmen, bazı ağır siteler dosyalarına hizmet etmek için birden fazla CDN alan adı kullandı. Bunun nedeni, bir tarayıcı yalnızca HTTP/1 dünyasındaki bir sunucuya sekiz paralel bağlantı açabiliyor olmasıydı ve paralel olarak daha fazla dosyaya erişim sunmak istiyorlardı. HTTP/2, paralel bağlantılara olan ihtiyacı ortadan kaldırdığından, tek bir bağlantıda paralel bağlantı olabilir. Birden çok CDN alanının kullanılması, aslında, hızlandırmak yerine siteyi yavaşlatan birden fazla DNS isteği anlamına gelir. - CSS ve JS’yi küçültme
CSS ve JS’nin küçültme, agresif bir şekilde Google tarafından zorlanan bir uygulamadır. CSS ve JS satır içi olduğu için, doğru bir şekilde ön belleğe alınamıyor. Küçük bir dosyaya yönelik bir talep artık ek yük içermediğinden, bu işlemleri artık yapmamıza gerek kalmıyor.
Google PageSpeed ve HTTP/2
Ne yazık ki Google PageSpeed aracı ve diğer birçok web performans testi araçları, HTTP/2’yi kabul etmede oldukça yavaşlar. Kılavuzlarını değiştirmeliler. HTTP/2 standartları yaygınlaştıkça Google PageSpeed gibi otorite test araçları yeni faktörleri bize göstereceklerdir.
HTTP/2 ile ilgili Google cephesinden yazılmış bu makaleyi mutlaka okuyun.
HTTP/2 ilgili Sıkça Sorulan Sorular
Teknik açıdan HTTP / 1.1 ve HTTP / 2’yi ayıran en önemli özelliklerden biri, internet protokol yığınındaki uygulama katmanının bir parçası olarak düşünülebilecek ikili çerçeveleme katmanıdır. Tüm istekleri ve yanıtları düz metin biçiminde tutan HTTP / 1.1’in aksine, HTTP / 2, fiiller, yöntemler ve başlıklar gibi HTTP anlamlarını korurken tüm iletileri ikili biçimde kapsüllemek için ikili çerçeveleme katmanını kullanır.
HTTP / 2, performans ve site yükleme süresi açısından HTTP1’den daha hızlıdır.
Basitçe ifade etmek gerekirse, HTTP, verileri bir makineden diğerine aktararak çevrimiçi iletişimi sağlayan protokoldür.