Http2 ve Http3 Nedir?

İnternet teknolojisine ilgi duyanlar bilirler ki bu alanda öğrenmeleri gereken şeyler asla bitmez. Her geçen gün gelişen internet teknolojisi birçok alanda literatüre yeni kavramlar kazandırmaktadır. Benzer şekilde zaten hayatımızın temel gereksinimi olan web siteleri ve bunlarla ilgili teknik detaylar...

Web sitelerini çeşitli amaçlarla kurabilir veya kullanabiliriz. Web sitesi geliştiricileri için içerik yüklemek en sıkıcı iş olabilir. Yüklediğiniz içeriğin kalitesi ve boyutu da belirli kriterleri karşılamalıdır. Bu, birçok geliştiriciyi hayal kırıklığına uğratan sorunlara neden olabilir. Yukarıdaki alanlarda geliştirilen yeni teknolojiler, kullanıcının dikkatini çekmez, ancak genellikle geliştiricilere yardımcı olur. Kullanıcılara pek çok avantaj sağlayan HTTP protokollerini de tam olarak bu doğrultuda değerlendirebiliriz. HTTP 2 ve HTTP 3 kavramlarının ne olduğunu, ne tür avantajlar yarattığını, ne şekilde çalıştıklarını bu içeriğimizde açıklamaya çalışacağız.

Http Protokolü Nedir?

Normal internet kullanıcıları veya bazı zincir sonu web tasarımcıları için gözle görülür bir fark yaratmasa da, HTTP2 web geliştiricileri için büyük bir satın alma olarak kabul edilir. Basitçe söylemek gerekirse; HTTP2,  yüksek çözünürlüklü resimler, js ve CSS dosyalarının web sitenizi yavaşlatmasını önlerken sitenizin güvenliğini önemli ölçüde artıran bir protokoldür. Google tarafından geliştirilen SPDY protokolü temel alınarak oluşturulmuş ve geliştiricilere sunulmuştur. Konuyu anlamak için önce protokolün işlevine bakalım.

Yazılımın, protokol adı verilen yaygın olarak kabul edilen birçok standardı kullanarak iletişim kurduğu bilinmektedir. İnternetteki tarayıcılar ve sunucular için en yaygın protokol, 1990'lardan beri yaygın olarak kullanılan HTTP'dir. Çoğu kişi bu ve diğer protokollerin adlarını site adının başında bilir. Örneğin; https://www.facebook.com/ veya https://twitter.com/ gibi kullanımları düşünebiliriz Şu anda dünya çapında kullanılan HTTP 1.1 protokolünün güncel versiyonu 1999 yılında kullanılmıştır.

HTTP2’nin Gelişi

Hepimizin bildiği gibi web teknolojisi bir anda mevcut durumuna ulaşamadı. Zamanla açıklar ortaya çıkıverdi. Ayrıca gelişmesi de yıllar boyunca devam etti. Söz konusu protokol, 1990'lardan bu yana hızla gelişerek günümüzün yüksek hız ve güvenlik seviyelerine ulaştı. HTTP protokolü, sunucudan tarayıcıya metin göndermenin en uygun yoludur.

Günümüzde yaygınlaşan internet üzerinden video ve fotoğraf gönderme gibi uygulamalar, 1990'larda başlayan HTTP mirasından yola çıkarak şekillenmiş ve sürekli olarak geliştirilmiştir. Normal şartlar altında, en iyi gelişmenin bir "yeniden yapım" olduğunu düşünebilirsiniz. Bununla birlikte, HTTP o kadar iyi yapıldı ki uzmanlara, mevcut HTTP altyapısını iyileştirmenin yeni bir protokol geliştirmekten daha etkili bir yol gibi göründü.

HTTP dalgalanması, başka bir şeye karar vermiş olsalar bile, yıllarca böyle bir seçeneği tercih ederdi. Kimse böyle bir risk almaya hazır değildi. Daha önce de belirtildiği gibi, HTTP2 mevcut protokoller üzerine inşa edildi ve 2015'te tamamlandı. Bu sadece eski versiyonun bir evrimiydi. İçerik daha karmaşıktı ve yeni öğeler içeriyordu, ancak altyapı olarak HTTP kullanıldı. Ama şimdi tüm karmaşıklık iyi gizlenmiş durumda.

HTTP2 ‘nin Getirdiği Avantajlar

HTTP 1.1'in aksine, HTTP/2 protokolü, uygulamalarına basitlik, kolaylık ve hız getirdiği için web geliştiricilerine birçok fayda sağlar. Ayrıca, kullanılan bağlantı sayısını azaltarak ve başlıkları sıkıştırarak sitenizi önemli ölçüde hızlandırır. HTTP / 2, tek bir TCP bağlantısı üzerinden ikili olarak iletişim kurar.

Statik dosyalar (resimler, videolar, JS, CSS) daha hızlı aktarılır. HTTP başlık sıkıştırması daha az ağ kaynağı tüketir. SSL kullanarak daha fazla güvenlik sağlar. Hızlı sayfa görüntüleme ve bot HTTP/2 desteği sayesinde SEO (Arama Motoru Optimizasyonu) faydaları sağlar. Web sitesi farklı formatlarda  farklı dosyalar içerir. Resimler, videolar, metin ve site tasarımı için CSS (kademeli stil sayfaları) ve JS (JavaScript) kodu vardır. Her birinin belirli bir düzende ve belirli kurallara göre çalışması gerekir.

HTTP 1.1, açık metin veri iletimini sağlar. HTTP / 2, bu sorunu çözmek için ikili bir sistem kullanır. İkili sistemler, veri iletim hızını artırır. HTTP 1.1 protokolüyle bağlanmak, her dosya türü için ayrı istekler göndererek, eşzamanlı çağrıları sınırlayarak ve her biri için ayrı bir TCP bağlantısı gerektirerek süreci yavaşlattı. Dolayısıyla kullanıcı deneyimini olumsuz etkileyen bu durumu gidermek için alınan önlemlerin iyileştirilmesi gerekiyordu. Bu durum HTTP/2 protokolü ile farklı şekilde çözümlenmektedir.

HTTP/2, tarayıcıdan çoğullama ile isteği alır ve tek bir TCP bağlantısı üzerinden statik dosyalara yanıt verir. HTTP / 2, web sitesi yüklemesini hızlandırmak için bu yöntemi kullanır. HTTP / 2 push özelliği, önceden tanımlanmış tüm dosyaları alır ve tek bir bağlantı üzerinde push yöntemini kullanarak tarayıcı önbelleğine yükler. Kullanıcıların her işlem için sunucu ile yeniden iletişim kurmasına gerek kalmaz. Bu da işlem sayısını ve sunucu üzerindeki yükü azalmış olmaktadır.

Ayrıca başlık bilgilerini sıkıştırarak, gruplandırarak ve küçülterek HTTP / 2'yi basitleştirir. Bu işlemler ayrıca aktarılan web sitelerinin boyutunu da küçültür. HTTP/2 ile geriye dönük uyumluluk da çalışır ve HTTP 1.1 desteği de mevcuttur. Ayrıca güvenlik nedeniyle HTTP 1.1 sürümü, SSL kurulu olmadığı sürece güvenli HTTPS bağlantıları için HTTP protokolü kullanılarak bağlanma olanağı sağlar. Ancak HTTP / 2 TLS bağlantıları güvenliğin sağlanması zorunludur. Bu, bilgilerinizin gizliliği konusunda size güven veren bir durumdur. Söz konusu durum aynı zamanda üçüncü şahıslardan gelen tehditler de önlenir.

HTTP3 Nedir?

HTTP/3, Köprü Metni Aktarım Protokolü’nün (HTTP) en son üyesidir ve web üzerinden bilgi göndermenin temelini oluşturur. İnternet Teknoloji Komisyonu tarafından HTTP / 2'ye daha modern bir alternatif olarak kabul edildi. HTTP3, internette bilgiye erişmenin hem hızını hem de güvenliğini artırmak için birlikte çalışan çeşitli teknolojilerin bir birleşimidir. Bu yeni teknoloji, verileri daha hızlı gönderir,  daha az hataya açıktır ve gecikmeyi azaltır. Dolayısıyla bağlantıya tıklamak, sitenizin daha hızlı yüklenmesini sağlayacaktır. HTTP / 3 ayrıca yerleşik şifrelemeye sahiptir, bu nedenle ayrı bir HTTPS ataması gerekmez.

Aktarım Katmanı Güvenliği (TLS) 1.3 şifrelemesi gerçekleştirir. Bu, HTTPS'ye bir "S" ekleyen bir protokoldür. HTTP/3, önceki sürümler gibi İletim Kontrol Protokolü (TCP) kullanmaz. Bunun yerine, 2012'de Google tarafından geliştirilen genel amaçlı bir kriptografik aktarım protokolü olan QUIC üzerinde çalışır ve müşterilerin bağlantı kurmak için yapmaları gereken gidiş-dönüş sayısını azaltır.

HTTP/3 Nasıl Çalışır?

HTTP / 2 ve HTTP / 3 arasındaki temel fark, veri paketlerinin İnternet üzerinden gönderilme şeklidir. Yeni HTTP/3, TCP yerine UDP kullanır. Hem TCP hem de UDP, İnternet üzerinden bit veri göndermek için kullanılan protokollerdir. Ancak geleneksel TCP ile bilgi paketleri sırayla gönderilir, hata kontrollü ve güvenilir bir şekilde gönderilir. Bu durum elbette kulağa oldukça hoş geliyor, ancak bagajınızı taşıma sırasında kaybederseniz, tüm süreç kesintiye uğrayabilir. Tıpkı bir kazanın trafik sıkışıklığına neden olması gibi düşünebilirsiniz.

HTTP / 3, bilgileri sıralama veya hata denetimi yapmadan UDP protokolü üzerinden gönderir. TCP'den daha az güvenilirdir, ancak daha hızlıdır. Bir paket kaybolursa, uygulamanız muhtemelen eksik paketin yeniden iletilmesini istemek için TCP kullanabilir. Ancak HTTP/2'nin aksine kayıp paketler sadece bu paketteki verileri etkiler.

Başkaları tarafından yapılan aktarımları etkilemez. Bu, birisinin trafik kazası geçirmiş bir arabayı sihirli bir şekilde yolun kenarına çekerek, arabanın karşıdan karşıya geçmesine devam etmesine benzer. Bu modern HTTP protokolü, aynı anda HTML, JavaScript, CSS ve görüntüler gibi birden çok veri akışını gönderebilen tek bir bağlantı oluşturur.