HTTP/2'ye Yakından Bakış: Nasıl Çalışır ve Web İçin Anlamı
Yayınlanan: 2023-02-092015 yılında, HTTP ağ protokolünün yeni bir sürümü olan HTTP/2 onaylandı. Şimdi, giderek daha popüler hale geliyor: protokol zaten Apache ve Nginx web sunucularını, Chrome, Firefox, Opera, Edge ve Safari tarayıcılarının yanı sıra mobil cihazları da destekliyor.
HTTP/2 hizmetlerinin ve sitelerinin sayısı sürekli artıyor. Yakın gelecekte İnternet, web sitesi indirmeyi hızlandıran yeni bir protokole geçişi bekliyor.
Bunun site oluşturmayı, SEO'yu ve diğer yönleri nasıl etkileyeceğini öğrenelim.
HTTP/2 nedir?
HTTP/1.1 protokolü 1999'dan beri kullanılmaktadır ve zamanla önemli bir sorun edinmiştir. Modern siteler, 1999'da popüler olanın aksine pek çok farklı öğe kullanır: JavaScript komut dosyaları, CSS stilleri ve bazen de flash animasyon. Hepsini aktardığınızda, tarayıcı ve sunucu birkaç bağlantı oluşturur.
HTTP/2 protokolü, aşağıdaki özellikler nedeniyle web sitelerinin hızını önemli ölçüde hızlandırır:
- Bağlantılar: Tek bir TCP bağlantısı üzerinden birden çok istek gönderilebilir ve yanıtlar herhangi bir sırayla alınabilir. Birden fazla TCP bağlantısı tutmaya gerek yoktur.
- İş parçacığı öncelikleri: müşteri, sunucu önceliklerini belirleyebilir - kendisi için hangi tür kaynakların diğerlerinden daha önemli olduğu.
- Başlık sıkıştırma: HTTP başlığının boyutu azaltılabilir.
- Verileri sunucu tarafından iterek gönderme: sunucu, örneğin, kullanıcıların açacağı bir sonraki sayfa hakkındaki verilere dayalı olarak, henüz talep edilmemiş verileri istemciye gönderebilir.
HTTP 2 protokolü geliştirmesi, Google tarafından geliştirilen SPDY protokolüne dayanmaktadır. Ancak Google, daha umut verici bir HTTP/2 için daha fazla SPDY desteğini reddedeceğini zaten duyurdu.
Okuyun: WordPress siteniz neden yavaş ve nasıl hızlandırılır?
HTTP/2'nin temel özellikleri
- çoğullama
- Sunucu İtme
- Başlık Sıkıştırma
- Akış Önceliği
- Akış kontrolü
HTTP ve HTTP 2 arasındaki fark
İlk protokolde yapılan değişiklikler, uygulamaların çalışma biçiminde çok fazla değişiklik gerektirmez. Bununla birlikte, artırılmış hızda çalışacak yeni uygulamalar için bir avantaj vardır. İki protokol arasındaki temel farklar aşağıda karşılaştırılmıştır:
Özellik | HTTP | HTTP2 |
---|---|---|
Sözdizimi | Üst düzey sözdizimi aynıdır | Üst düzey sözdizimi aynıdır |
Veri Çerçeveleme | Değiştirilmiş veri çerçeveleme | Gelişmiş veri çerçeveleme |
Sorguları | Sınırlı sorgular | Daha fazla sorgu |
Sunucu Duyarlılığı | Sınırlı yanıt verme | Geliştirilmiş yanıt verme |
Verimli Web Siteleri | Küçültülmüş istekler | Gelişmiş verimlilik |
Hat Başı Engelleme | HTTP'de mevcut | HTTP2'de üstesinden gelin |
çoğullama | Mevcut değil | Sunmak |
Başlık Sıkıştırma | Mevcut değil | Sunmak |
Önceliklendirme İste | Mevcut değil | Sunmak |
Aşağıda, HTTP/1 ve HTTP/2 arasındaki temel farkın iyi bir görsel temsili bulunmaktadır (nezaket: http:// ruzhekov.com )
HTTP/2'nin Artıları ve Eksileri
Artıları
- Geliştirilmiş sayfa yükleme hızı
- Ağ kaynaklarının daha iyi kullanımı
- Artan kullanıcı deneyimi
- Modern web teknolojileriyle daha iyi uyumluluk
Eksileri
- Protokolün tutarsız ve karmaşık olduğu söyleniyor
- Protokol katmanlama ilkesini ihlal ediyor
- Ağır bir şifreleme maliyetiyle gelir
- Yönlendiriciler gibi belirli cihazlarla uyumlu değil
- Fırsatçı şifrelemeden yoksun
Dünyanın neden HTTP/2'ye ihtiyacı vardı?
- HTTP ilk olarak 1991'de tanımlandı ve en son sürümü olan HTTP/1.1, 1999'da onaylandı ve bugün hala kullanılıyor.
- Web sitesi boyutları yıllar içinde önemli ölçüde büyümüştür, bu da yavaş yükleme sürelerine ve HTTP/1.1 kullanan eş zamanlı bağlantı sayısında sınırlamalara yol açmaktadır.
- Web sitesi yükünün optimize edilmesi gibi geçici çözümler uygulandı, ancak bunlar yalnızca kısa vadeli bir çözüm sunuyor.
- Google mühendisleri, 2009 yılında protokolü iyileştirme çalışmalarına başladı ve bu da daha hızlı olan ve çoğu tarayıcı tarafından desteklenen ancak sunucu tarafı desteği gerektiren SPDY protokolünün oluşturulmasına yol açtı.
- HTTP/2, SPDY tabanlıdır ve HTTP/1.1 ile geriye dönük uyumludur. Hemen yükseltmeye gerek yoktur, ancak sonunda siteler eski protokolde daha yavaş yüklenebilir.
HTTP/2 gerçekten daha hızlı mı?
HttpWatch Uzmanları birçok test gerçekleştirdi ve HTTP 2 ile ciddi bir ivme yakaladı.
Aşağıdaki ekran görüntüsü, HTTP / 1.1 kullanan sayfanın indirme hızını göstermektedir:
Ve bu ekran görüntüsünde - HTTP 2 kullanımının sonucu:
İndirme hızı %23 arttı. HttpWatch uzmanları, teknolojinin henüz tam olarak optimize edilmediğini ve %30'a varan gerçek bir hızlanma beklediğini de belirtiyor.
HTTP/2 neden daha hızlı çalışır?
- HTTP/2'de (çoklama) aynı bağlantı içinde gönderilen birden çok istek, statik öğelerin daha hızlı yüklenmesine yol açar
- HTTP/2'de HTTP başlıklarının sıkıştırılması, sunucu ile tarayıcı arasındaki veri miktarını azaltarak kaynakları serbest bırakır
- Trend belirleyen tarayıcılar (Google Chrome, Mozilla Firefox) tarafından HTTP/2 desteği için şifrelenmiş bağlantılarla geliştirilmiş güvenlik
- Önceliklendirme sırası HTTP/2'de değişir, önceliklendirme uygun çoğullama işlevi için arzu edilen bir yöntemdir
- HTTP/2'de önceliklendirme yapılandırmasının olmaması, daha sonra yüklenebilecek kaynaklar ayrı bir şerit ve gücün bir kısmını alacağından hızın düşmesine neden olabilir.
Web sitesi sayfasının yüklenmesini hızlandırmak neden önemlidir?
- HTTP 2 desteği, Google için doğrudan bir sıralama faktörü değildir
- İndirme hızı, Google için önemli bir sıralama faktörüdür
- HTTP/2, web sitesi hızını olumlu yönde etkileyebilir ve davranışsal faktörler nedeniyle sıralamayı olumlu etkileyebilir.
- Daha hızlı sayfaların başarısızlık oranı daha düşüktür ve kullanıcı etkileşiminin artmasına neden olabilir
- Google Bot yakında HTTP/2'yi destekleyecek
- HTTP 2, arama motorları algoritmaları değiştirdikçe gelecekte bir sıralama faktörü haline gelebilir.
Web geliştiricileri için avantajlar
HTTP 2, sayfanın HTTP/2 olmadan yüklenmesini hızlandırmak için tasarlanmış eski numaralardan kurtulmanızı sağlar. Listeliyoruz:
- Daha fazla TCP bağlantısının kurulmasını sağlamak için dosyaları indirmek için etki alanı parçalama veya birden çok ilgili etki alanı kullanma.
- Resimlerin sprite'ları — isteklerin sayısını azaltmak için resimleri tek bir dosyada birleştirmek. Ancak, böyle bir dosyanın görüntülenmesi için önce tamamen yüklenmesi gerekir. Ayrıca, büyük dosyaların işlenmesi daha fazla bellek tüketir.
- İstek sayısını azaltmak ve bellek kullanımını artırmak için de yapılan CSS ve JavaScript dosyalarını birleştirin.
- Bağlantı sayısını azaltmak için satır içi dahil etme veya CSS ve JavaScript ve hatta bazen HTML dosyasının içine resimler koyma. Aynı zamanda, dosyanın tamamı yüklenene kadar sayfa görüntülenmez.
- Çerez dosyaları olmayan alanlar: Çerezlerin kullanılmadığı başka bir alandan resimler, CSS ve JavaScript indirin.
HTTP 2 nasıl uygulanır?
HTTP 2'yi uygulamak için şu adımları izlemeniz gerekir:
- Sunucu Desteğini Kontrol Edin: Sunucu yazılımınızın HTTP 2'yi desteklediğinden emin olun. Apache, Nginx ve IIS gibi popüler sunucu yazılımlarının yerleşik HTTP 2 desteği vardır.
- HTTP 2'yi Etkinleştir: Sunucunuzun HTTP 2'yi desteklediğini onayladıktan sonra etkinleştirmeniz gerekir. HTTP 2'yi etkinleştirme yöntemi, kullandığınız sunucu yazılımına göre değişir.
- HTTPS kullanın: HTTP 2, HTTPS kullanan güvenli bir bağlantı gerektirir, bu nedenle sunucunuzda yüklü bir SSL sertifikası olması gerekir.
- Kodunuzu Güncelleyin: HTTP bağlantılarını işleyen bir kitaplık veya çerçeve kullanıyorsanız, bunun HTTP 2'yi desteklediğinden emin olun. Bazı kitaplıkların HTTP 2 ile çalışması için güncellemeler gerekebilir.
- Sitenizi Test Edin: Gerekli değişiklikleri yaptıktan sonra sitenizi HTTP 2 ile çalıştığından emin olmak için test edin. Tarayıcı konsolunu herhangi bir hata veya uyarı için kontrol edin.
- Performansı İzleyin: HTTP 2 ile sorunsuz çalıştığından emin olmak için sitenizin performansını düzenli olarak izleyin.
- Performans Optimizasyonlarını Düşünün: HTTP 2'yi uygulamak sitenizin performansını artıracaktır, ancak yine de daha fazla optimizasyon için fırsatlar olabilir. Örneğin, görüntüleri hareketli resimler halinde birleştirmek, görüntüleri sıkıştırmak ve HTTP isteklerinin sayısını azaltmak performansı daha da artırabilir.
Çözüm
HTTP 2, HTTP 1.1 ile geriye dönük uyumludur ve geçiş gerektirmez. Ancak, web sunucuları ve tarayıcılar HTTP 2'yi benimsediğinden, web sitesinin yavaşlamasını önlemek için site optimizasyon tekniklerinin güncellenmesi gerekebilir.
Okuyun: WordPress'te HTTP'den HTTPS'ye Geçiş Hakkında Eksiksiz Bir Kılavuz
Görüntüleri hareketli görüntülerde birleştirmek, sıkıştırmayı iyileştirir ve veri indirmeyi azaltırken, görüntüleri gömmek için Veri URI'sinin kullanılması önbelleğe almayı iyileştirebilir. Kaynaklar için doğrudan isteklere izin verdiği ve ek bağlantılar oluşturarak performansı düşürebileceği için HTTP 2'de etki alanı parçalama artık gerekli değildir.
Sıkça Sorulan Sorular
HTTP2 ne için kullanılır?
HTTP2, internet üzerinden veri aktarmak için kullanılan, sayfalar, resimler ve videolar gibi web içeriğinin bir sunucudan bir tarayıcıya iletilmesinin hızını ve güvenliğini artıran bir protokoldür. Aynı anda birden fazla isteğin gönderilip alınmasına izin vererek, önceki HTTP 1.1'e kıyasla daha hızlı sayfa yükleme ve daha yüksek verimlilik sunar.
HTTP ve HTTP2 arasındaki fark nedir?
HTTP2, öncekinden daha hızlı ve daha verimli olan güncellenmiş bir HTTP sürümüdür. Birden çok kaynağı yüklemek için tek bir bağlantı kullanır, oysa HTTP'de birden çok bağlantı gerekliydi. HTTP2 ayrıca veri sıkıştırma ve önceliklendirme sağlayarak kullanıcılar için daha hızlı sayfa yükleme sürelerine yol açar.
Neden http2 yaygın olarak kullanılmıyor?
HTTP2, uyumluluk ve uygulama sorunları nedeniyle yaygın olarak kullanılmamaktadır. Bazı eski cihazlar ve yazılımlar HTTP2'yi desteklemez ve uygulama için özel bir sunucu ve SSL sertifikası gerektirir.