Anasayfa > Genel > HTTP2 vs HTTP3

HTTP2 vs HTTP3

Translate This Page:

Translate This Page:

Select your language:  English EN French FR German DE Portuguese PT Russian RU Turkish TR

Bu makalede hayatımıza yeni giren HTTP/3 olarak nitelendirilen ve yeni bir protokol olan quic protokolünü kullanan web sayfalarının performasını arttırmayı hedefleyen http/3 ü inceleyeceğiz. Bir önceki makalede bahsettiğim HTTP/2 ile aralarındaki farklara değineceğim ve bize ne faydaları olacağından bahsedeceğim.

Quic HTTP3 Nedir ?

QUIC (Quick UDP Internet Connections)yapısı gereği UDP protokolünü kullanan bir network taşıma protokolüdür. Çoğaltılmış bağlantı kümelenmesini destekler ve TLS/SSL ile benzer özellikler taşıyarak güvenli bir şekilde veri iletimini sağlamayı amaçlar. Network tıkanıklığını çözmek için içerisinde algoritmaları barındırır. QUIC’in ana hedefi, şu anda TCP kullanan bağlantı yönelimli web uygulamalarının algılanan performansını artırmak ve kullanıcı deneyimini iyileştirmektir. 2015 yılında IETF’e taslak olarak sunuldu, aradan biraz vakit geçtikten sonra 2016 da çalışma ekibi kuruldu ve bu günlere geldik.

HTTP / 3 desteği Eylül 2019’da Chrome’a (Canary derlemesi) eklendi ve HTTP / 3 henüz herhangi bir tarayıcıda varsayılan olarak açık değilken, 2020 yılına kadar HTTP / 3’ün Chrome ve Firefox’un kararlı sürümlerinde varsayılan olmayan desteği var ve etkinleştirilebilir. 8 Nisan 2020’de Safari Teknoloji Önizlemesine HTTP / 3 için deneysel destek eklendi.

QUIC, UDP üzerinden daha kararlı veri akışı sağlayan bağlantı yönelimli taşıma protokolüdür. Bağımsız TCP bağlantısına benzemekle birlikte, bağlantı gecikme süresini Zero Round Trip Time Resumption (0-RTT) özelliğiyle sıfıra indirebiliyor. Bu protokolü UDP’nin üzerine HTTP/2 eklenmiş yeni bir protokol dür.

HTTP/2 ile arasındaki fark aşağıdaki tablo ile açıklanabilir.

Quic’i Destekleyen Browserlar

Browser Version implemented Date
Chrome Stable build (79) December 2019
Firefox Stable build (72.0.1) January 2020
Safari Safari Technology Preview 104 April 2020
Edge Edge (Canary build) 2020[9]

HTTP2 ve HTTP3 Arasındaki Farklar

Connection establishment latency

QUIC, handshake aşamasında HTTP/2’e kıyasla RTT’leri (Round Trip Time) azaltarak bağlantı kurma sırasındaki gecikmeyi büyük ölçüde azaltır.

TCP Head Of Line Blocking

HTTP/2 tek bir TCP bağlantısı ile birden fazla paket göndererek iletişimin daha hızlı olmasını sağlar. İletişim sırasında tek bir paket düşerse bu kayıp paket yeniden iletilir ve TCP bağlantısı tamamen durur. Buna TCP Head-Of-Line Blocking denir. İşte bu paket kaybı oranı arttıkça, HTTP/2 iletişimde daha kötü performans gösterir.

QUIC ise HTTP/2’den farklı olarak sunucu ile istemci arasında birbirinden bağımsız birden fazla akış kurar. Akışlardan birinde bağlantı koparsa sadece o akış eksik bağlantının yeniden iletilmesini beklemek zorunda kalır, diğerleri iletişime devam eder.

Aşağıdaki görsel HTTP1.1 , HTTP2 ve HTTP3 ün kıyaslamalı çalışma prensibini daha iyi görebilirsiniz.

QUIC Temel Özellikleri Nelerdir?

  • Düşük gecikme süresi
  • Güvenilir veri akışı
  • Basitleştirilmiş tıkanıklık kontrolü
  • TLS1.3 kullanımı
  • HTTP/1.1 üzerinde çalışabilirlik
  • Hata düzeltmelerini destekler

QUIC çalışma grubu, bir sonraki adım olarak çoklu yol desteğini getirmiş ve isteğe bağlı hata düzeltmesini (FEC) destekler hale gelmiş.

HTTP / 2 ve HTTP / 3: benzerlikler ve farklılıklar

Aşağıda, HTTP / 2 ve HTTP / 3 karşılaştırılırken beklenecek benzerliklerin ve farklılıkların kısa bir özeti bulunmaktadır:

Farklılıklar:

  • HTTP / 2’nin aksine, HTTP / 3, TCP yerine UDP üzerine kurulur.
  • Entegre TLS 1.3 şifrelemesi sayesinde HTTP / 3, TLS seviyesinde ek bir şifreleme talebinden (el sıkışmaları) vazgeçer ve böylece gereksiz güvenlik sorgularından kaçınır.
  • HTTP / 2’nin aksine, HTTP / 3, entegre TSL 1.3 şifrelemesi nedeniyle yalnızca şifrelenmiş bağlantıları destekler.

Benzerlikler:

  • Her iki protokol de başlık sıkıştırması kullanır, ancak HTTP / 3, bir paket sırasına bağlı olan HTTP / 2 HPAck sıkıştırmasını çözmek için QPack’i kullanır.
  • HTTP / 2 Sunucu İtmeleri gibi, HTTP / 3, bir tarayıcının her durumda bir sayfayı görüntülemek için ihtiyaç
  • duyduğu CSS ve JavaScript verilerinin hızlandırılmış gönderimini destekler.
  • Her iki protokol de, farklı kaynaklardan gelen verilerin paralel akışı anlamına gelen istek / yanıt çoğullama kullanır.
  • Her iki protokolde de akış önceliklendirmesi, sayfa içeriğinin tamamlanmasını beklemeden öncelikli olarak yüklenmesini sağlar.

HTTP / 3’ün avantajları nelerdir?

HTTP / 3’ün avantajları daha iyi iletim hızı, daha kısa yükleme süreleri ve daha kararlı bir bağlantıdır. UDP üzerine inşa edilen HTTP / 3, TCP’nin zayıf noktalarını atlar ve QUIC’e göre HTTP / 2 ve HTTP’nin tüm avantajlarını kullanır.

HTTP / 2, verilerin eşzamanlı indirilmesi anlamına gelen çoklama kullanırken, ikinci HTTP sürümü hala satır başı engellemeden muzdariptir. Bunlar, bir akışta bir paket kaybolduğunda tüm akışların durmasını sağlayan dijital darboğazlardır. UDP kullanımıyla HTTP / 3 başarılı iletimi beklemiyor, ancak yükleme işlemine devam ediyor.

HTTP / 3, bir bağlantının güvenliğini kontrol etmek için tanıtıcı tokalaşmalar kullanmaz. Güvenlik sorgularını üst düzey TLS katmanına göndermek yerine, şifreleme doğrudan aktarım protokolü aracılığıyla gerçekleştirilir. HTTP / 3, iki geçişten yalnızca bir geçişe bağlantı kurulurken gidiş dönüş süresini azaltır. HTTP / 3 artık başarılı bir indirme için IP adreslerine bağlı değildir, ancak ağları değiştirirken bile sürekli indirmeyi mümkün kılan bağımsız bağlantı kimlikleri kullanır.
Özellikle cep telefonu kullanıcıları için, HTTP / 3 daha kararlı, daha esnek ve daha hızlı bir bağlantıda daha rahat gezinmeyi sağlamalıdır.

Özet

Henüz tam olarak benimsenmeyen HTTP / 2 standardıyla HTTP / 3’ü (sürüm üç) zorlamak için çok erken olabileceğini düşünenler var. Bu geçerli bir nokta, ancak bahsettiğimiz gibi, bu protokol zaten geniş çaplı testler ve uygulamalar gördü. Google, bunu 2015’te ve Facebook’ta 2017’de test etmeye başladı.
O zamandan beri, Akamai ve Mozilla gibi diğer oyuncular standartlaştırma çabalarına katıldı. Kasım 2018’deki son IETF hackathon’unda, katılımcıların listesi, Facebook, Apple, Google, Mozilla, NetApp ve LiteSpeed ​​Tech gibi şirketler tarafından QUIC’e ilgi gösterdi. Bazı umut verici testler vardı ve görünüşe göre LiteSpeed, çalışan bir HTTP / 3 sunucusuna sahip ilk büyük sunucu satıcısı olabilir. Cloudflare ayrıca şu anda QUIC’i beta olarak çalıştırıyor.
Bundan kısa bir süre sonra QUIC, IETF’in İnternet Taslağı’nda HTTP / 3 olarak yeniden adlandırıldı. Önümüzdeki dönemde Büyük yazılım satıcılarının yeni standardı uygulamaya geçirmesi muhtemel gibi görünüyor.

Hakkinda Serdar Bayram

Bu yazı blog üzerinde Serdar Bayram tarafından hazırlanıp paylaşılmıştır. 2009 yılında açılan blogum kısa zaman içerisinde paylasımları ile dikkat cekip büyük bir izleyici kitlesine sahip olmuştur.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

*