HTTP / 2 Nedir ve Ne İşe Yarar?



Sorunları Ortadan Kaldırmak Için Enstrümanımızı Deneyin

Son 20 yılda, World Wide Web önemli ölçüde gelişti. Gelişmiş web teknolojilerinin tümü, iletişim ve dosya aktarımı için teknolojik sınırlarına ulaşan mevcut teknolojilerden (HTTP) daha iyi ve daha hızlı çözümler ve protokoller gerektirir.





HTTP / 2 nedir?

HTTP / 2, Hypertext'in en yeni sürümüdür Aktarım Protokolü (HTTP) - World Wide Web tarafından kullanılan temel protokol . İlk olarak Şubat 2015'te onaylandı. Bu, orijinal HTTP'den neredeyse 20 yıl sonradır. HTTP / 2, yükleme sürelerini azaltır ve sunucular ile tarayıcılar arasındaki iletişimde büyük iyileştirmeler sağlar. Tarayıcıların çoğu zaten HTTP / 2 eklemiştir ve kullanıcıların bakış açısından pek çok şeyi değiştirmemiştir. Birçoğumuzun onu henüz okumamış veya duymamış olmasının ana nedeni budur.



HTTP / 2 Ne Yapar?

HTTP'nin halefi olarak, HTTP / 2, HTTP'nin tüm özelliklerini iyileştirmeye odaklanır . Eski protokolle geriye dönük uyumluluğu korumak için, HTTP'nin işlevlerinin çoğunu korur. Ancak, bazı önemli iyileştirmeler getiriyor.

Hem HTTP hem de HTTP / 2 şunları tanımlar:

  • Web tarayıcılarının ve sunucularının farklı komutlara yanıt olarak hangi eylemleri gerçekleştirmesi gerektiği.
  • Her bir bilgi parçasının web üzerinden bir bilgisayardan diğerine nasıl aktarıldığı.
  • Mesajlar nasıl oluşturulur, biçimlendirilir ve iletilir.

Başka bir deyişle, HTTP ve HTTP / 2, HTTP / 2'nin her şeyi öncekinden daha hızlı hale getirmesi farkıyla, web içeriğinin bilgisayarınıza nasıl teslim edildiğine ilişkin standartları belirler. Burada HTTP / 2'nin ne yaptığını ayrıntılı olarak görebilirsiniz.



Çoklanmış Akışlar

Bir sunucu ve istemci arasında HTTP / 2 protokolü aracılığıyla gönderilen çift yönlü metin biçimi çerçeveleri serisine 'akışlar' denir. HTTP, bir seferde bu 'akışlardan' yalnızca birini iletebilir. Akış gönderildikten sonra, sonraki akış iletimi arasında bir zaman gecikmesi vardır.

HTTP / 2, 'akışları' tek tek ileterek sorunu doğrudan çözen yeni bir ikili çerçeveleme katmanı oluşturur. İstemcilerin ve sunucuların HTTP / 2 yükünü küçük, bağımsız ve kolay yönetilebilir aralıklı çerçeve dizilerine ayırmasına olanak tanır. Tüm bu bilgiler, diğer uçta alındığında yeniden birleştirilir. Bu protokol, ardışık akışlar arasında gecikme olmaksızın birden çok, eşzamanlı olarak açık ve bağımsız iki yönlü dizilerin değişimini sağlar.

Faydaları:

  • Paralel çoklanmış istekler ve yanıtlar birbirini engellemez.
  • Tek bir TCP bağlantısı, birden çok veri akışını iletirken bile etkili ağ kaynağı kullanımını sağlayabilir.
  • Daha hızlı web performansı, daha az gecikme ve daha iyi arama motoru sonuçları.
  • Ağ ve BT kaynaklarını çalıştırmada azaltılmış sermaye giderleri ve işletme giderleri.

HTTP / 2 Sunucu İtme ve Önbellek İtme

Bu sunucuların istemcilere önbelleğe alınabilir ek bilgiler göndermesine olanak tanıyan bir özelliktir . Bu bilgi istenmez, ancak gelecekteki talepler için beklenir. İstemci bir A kaynağı talep ederse ve başka bir B kaynağına talep edilen kaynakla başvurulduğu biliniyorsa, sunucu başka bir müşteri talebini beklemek yerine B'yi A ile birlikte itebilir. Daha sonra istemci, itilen B kaynağını ileride kullanmak üzere önbelleğe kaydeder. Bu özellik, istek-yanıtlama sürecinin tamamını kaydeder ve ağ gecikmesini azaltır. Google, başlangıçta SPDY protokolünde Sunucu İtme'yi tanıttı.

HTTP / 2'deki bir başka gelişme de Cache Push. Bu, istemcinin önbelleğini proaktif olarak günceller veya geçersiz kılar. Bu, sunuculara istemcilerin gerçekte istemedikleri olası itilebilir kaynakları tanımlama yeteneği verir.

Faydaları:

  • İstemciler, önbelleğe alınmış kaynakların verimli bir deposunu korumak için itilen kaynakları reddedebilir (hatta Sunucu İtme'yi tamamen devre dışı bırakabilir).
  • İstemciler, aynı anda çoklanan itilen akışların sayısını sınırlayabilir.
  • Sunucular, itilen kaynaklara öncelik verebilir. Bu, HTTP / 2 ve HTTP arasındaki performans farkının anahtarıdır.
  • Sunucular, aynı TCP bağlantısı içinde istemcinin talep ettiği bilgilerle birlikte itilen kaynakları çoğaltabilir.
  • İstemciler, önbelleğe alınan kaynakları farklı sayfalarda kullanabilir.
  • İstemciler, itilen kaynakları önbellekte kaydeder.

İkili Protokoller

HTTP / 2, metin protokolünü ikili protokole dönüştürürken önemli ölçüde geliştirilmiş yeteneklere sahiptir . HTTP, istek-yanıt döngülerini yürütmek için metin komutlarını işlemek için kullanılırken, HTTP / 2 ikili komutlara dayanır. Bu, aynı görevleri yürütme süresini (1 sn ve 0 sn) kısaltır.

HTTP / 2 desteğine sahip tarayıcılar, metin komutlarını ağ üzerinden iletmeden önce ikili koda dönüştürür. Bununla birlikte, ikili çerçeveleme katmanı, HTTP sunucuları ve istemcileriyle geriye doğru uyumlu değildir.

Faydaları:

  • HTTP'nin metinsel doğasıyla ilişkili güvenlik endişelerinin önlenmesi (ör. Yanıt bölme saldırıları).
  • Sıkıştırma, önceliklendirme, çoğullama, TLS'nin etkili bir şekilde işlenmesi ve akış kontrolü gibi HTTP / 2 yeteneklerini etkinleştirir.
  • Komutların kompakt gösterimi, daha kolay uygulama ve işlemeye izin verir.
  • İstemciler ve sunucular arasında sağlam ve etkili veri işleme.
  • Geliştirilmiş iş hacmi ve azaltılmış ağ gecikmesi.
  • HTTP ile karşılaştırıldığında daha az hata şansı.
  • Son derece verimli ağ kaynağı kullanımı.
  • Verilerin ayrıştırılmasında düşük ek yük.
  • Daha hafif ağ ayak izi.

Akış Önceliklendirme

HTTP / 2, istemcilerin belirli veri akışlarına tercihler sağlamasına izin verir. Sunucular, bu istemcilerin talimatlarını takip etmek zorunda değildir, ancak bu mekanizma, sunucuların, kullanıcı gereksinimlerine göre ağ kaynak tahsisini optimize etmesine olanak tanır. .

Akış Önceliklendirme, her akışa atanan Ağırlık ve Bağımlılıklar ile çalışır. Tüm akışların doğası gereği birbirine bağımlı olmalarına rağmen, 1 ile 256 arasında bir ağırlıkları vardır. Akış önceliklendirme mekanizmaları hala tartışma konusudur. Ancak, Akış Önceliklendirmesi tek bir TCP bağlantısında birden çok veri akışını işleme HTTP / 2 yeteneği ile birleştirildiğinde, farklı öncelikli sunucu isteklerinin aynı anda ulaşmasına neden olabilir.

Faydaları:

  • Ağ gecikmesi endişelerinin azaltılmış olumsuz etkileri.
  • Geliştirilmiş kullanıcı deneyimi ve sayfa yükleme hızı.
  • Sunucular ve istemciler arasındaki veri iletişiminde optimizasyon.
  • Son derece etkili ağ kaynağı kullanımı.
  • Birincil içerik istekleri için daha kısa teslimat süresi.

Durum Bilgili Başlık Sıkıştırma

Kullanıcılar, medya açısından zengin içerikli web sitelerinde HTTP kullanarak gezinirken, istemciler birden çok neredeyse aynı başlık çerçevesini iter. Bu, her istemci talebinin, istenen işlemi gerçekleştirmek için sunucunun gerektirdiği kadar bilgi içermesi gerektiğinden böyledir. Bu süreç gecikmeye ve gereksiz kaynak tüketimine yol açar.

HTTP / 2, çok sayıda yedek başlık çerçevesini sıkıştırma yeteneğini içerir. Başlık sıkıştırmaya güvenli ve basit bir yaklaşım olarak HPACK spesifikasyonuna dayanır . İstemciler ve sunucular, önceki istemci-sunucu isteklerinde kullanılan başlıkların bir listesini tutar. Bu, doğrudan yedek başlık çerçeveleriyle ilgili endişeleri giderir.

Faydaları:

  • Yaygın olarak kullanılan başlıkları ve büyük başlıkları kodlar. Bu, başlık çerçevelerinin tamamını gönderme ihtiyacını ortadan kaldırır. Her akışın bireysel boyutu önemli ölçüde küçülür.
  • Sıkıştırılmış başlıklar ile veri akışlarını araştıran CRIME gibi güvenlik saldırılarını önleme.
  • Çoklama mekanizmalarının verimli kullanımı.
  • Verimli akış önceliklendirme.
  • Azaltılmış kaynak ek yükü.

HTTP / 2'nin Gerçek Dünyadaki Faydaları

HTTP / 2, teknolojinin potansiyelini en üst düzeye çıkarmaya odaklanmıştır , gelecekteki ihtiyaç ve beklentileri karşılamak için. İşte HTTP / 2 kullanmanın gerçek dünyadaki faydaları.

Web Performansı ve Mobil Web Performansı - HTTP / 2, bir istemci-sunucu iletişim döngüsünde daha fazla veri gönderip alma yeteneklerine sahiptir. Kullanıcı başına sınırlı bant genişliğine sahip mobil veri ağlarında ve ağlarda internet hizmetlerine erişimdeki gecikmeyi azaltmak için iyi çalışır.

Daha Ucuz Yüksek Hızlı İnternet - HTTP / 2, veri iletişiminin etkinliğini artırır. Bu, internet sağlayıcılarının yüksek hızlı internet standartlarını korurken genel giderleri azaltmalarına olanak tanır.

Güvenlik - HTTP / 2, metin tabanlı uygulama katmanı protokollerini hedefleyen tehditlere karşı savunmasız değildir. Ayrıca, istemciler ve sunucular arasındaki hassas veri aktarımını korumak için “Güvenlik Gizliliği” yaklaşımını kullanır.

Geniş Erişim - HTTP / 2 avantajları, sağlayıcılar için internet sonuçlarını azaltır. Bu, dünya çapında daha geniş bir internet kapsamına yol açacaktır.

Zengin Medya Web Deneyimi - HTTP / 2'nin World Wide Web'e getirdiği teknoloji özellikleri ve avantajları, daha yüksek sayfa yükleme hızlarında ortam açısından zengin içerik sunabilen bir altyapı sağlar.

Sarmak

HTTP / 2 nispeten yeni bir protokoldür, ancak bunun için destek sürekli olarak artmaktadır. Günümüzde çoğu internet tarayıcısı HTTP / 2'yi (Microsoft Edge, Google Chrome, Safari, Firefox, Android için Chrome) desteklemektedir. Birçok web sunucusu, HTTP / 2 yerel desteği (Apache HTTP Sunucusu, Tomcat, NGINX) içerir. Şüphesiz HTTP / 2, geleceğin WWW protokolüdür.

5 dakika okundu