Tarayıcınızın adres çubuğunda, web sitelerin başında görebileceğiniz HTTP ifadesi bir bağlantı protokolüdür. 1999 yılından itibaren kullanılan HTTP/1.1 2015 yılında yerini HTTP/2 protokolüne bırakmıştır. Bu doğrultuda “HTTP/2 nedir?” sorusu daha hızlı veri akışı sağlayan yeni bir bağlantı protokolü şeklinde yanıtlanabilir. Yakın geçmişe şöyle bir bakarsak HTTP’nin hayatımıza girişi 1991 yılında HTTP/0.9 ile olmuştur. Bunun ardından protokol 1996 yılında HTTP/1, 1999 yılında ise HTTP/1.1 olarak yükseltilmiştir. Ancak 1999’dan 2015’e kadar yalnızca bazı revizeler ve ufak geliştirmelerle yetinilmiştir.
HTTP protokolü, The Internet Engineering Tasf Froce
tarafından geliştirilmektedir. Burada amaç, internet kullanıcılarının evrensel
olarak yararlanabileceği güvenli bir bağlantı protokolü sağlamaktır. Açılımı Hyper-Text
Transfer Protocol olan ifade, tarayıcınızın karşısındaki sunucudan veri
almak için kullandığı protokoldür. Bu doğrultuda HTTP’ nin bu bilgi
alışverişinin gerçekleşmesiyle ilgili bazı kuralları ve metotları düzenlediğini
söyleyebiliriz.
HTTP Protokolü Nedir?
Protokol, en temelde ağ üzerinde yer alan bir cihazdan
diğerine bilgi aktarım sürecini şekillendiren kurallar bütünüdür. Tipik bir
protokülün header, payload ve footer gibi üç ana kategoriye ayrıldığını
söyleyebiliriz. Bu anlamda header; kaynağı, hedeflenen adresi ve taşınacak
veriye dair ana bileşenleri içerir. Buna karşılık payload kısmında ise aktarımı
gerçekleştirilecek asıl veriler bulunur. Footer bölümü ise ortaya çıkabilecek
hataları ayıklamak üzere yazılmış içerikleri barındırır. Bir tarayıcı bu türden
bir HTTP protokolünü kullanarak uzaktaki sunucuda yer alan bilgilere ulaşır.
HTTP/2 Neden Önemli?
1999 yılındaki web sitelerini ve internet bağlantı
hızlarını düşünürseniz bu sorunun cevabını bulması çok daha kolaylaşacaktır. Bu
doğrultuda geçmişte web sitelerinin çok daha az veri barındırdığını rahatlıkla
söyleyebiliriz. Ancak günümüzde, standart HTML kodlarının yanı sıra pek çok
farklı bileşen de bulunmaktadır. JavaScript kodları, resim, video ya da
animasyon gibi görseller, tasarım elementleri ve birçok ögeyle listeyi daha da
uzatabiliriz. Tüm bu verilerin kullanıcıya aktarılması için tarayıcılar
tarafından çeşitli bağlantılar kullanılmaktadır. Nitekim buna ek olarak
kaynağın hedefte yer alan içeriğe erişebilmek için bazı protokolleri de
iletmesi gerekir.
Bütün bu veri boyutunu yükselten içerikler ve
bağlantılar hesaba katıldığında web sitesinin performansında yavaşlamalar
olması doğaldır. Çünkü bu kadar veriyi yükleyebilmek, daha yüksek bir bağlantı
hızı ve işlem gücü gerektirir. Günümüzde internet kullanımının yaygınlığı göz
önüne alındığında böylesine bir gecikme pek de kabul edilebilir değildir.
Bilhassa dijital pazarlama faaliyetlerine önem veren markalar için bu durum
maddi kayıplar anlamına gelmektedir.
Nitekim Google, HTTP/2 öncesinde bir geçiş dönemi
sayabileceğimiz SPDY’i yaratarak bu hız problemini çözmeye çalıştı. 2012
yılında geliştirilen SPDY, tarayıcı ve sunucu arasındaki iletişimin HTTP/1.1’den
çok daha hızlı gerçekleşmesini sağladı. Üstelik bunu şifreli bağlantılar söz
konusu olduğunda bile başarıyla yerine getirdi. Öyle ki bağlantı hızlarında %10
ile %40 arasında pozitif yönlü bir değişme yaşandı. Zaten bu anlamda SPDY’nin
HTTP/2 için bir taslak olduğunu da söylemek yanlış olmaz.
HTTP/2 Avantajları ve Dezavantajları
HTTP/2 protokolünün temel hedefinin yukarıda da bahsettiğimiz gibi bağlantı hızlarını artırmak olduğunu söyleyebiliriz. Ancak artılarını ve eksilerini daha detaylı bir biçimde ele almak konuyu daha anlaşılır hale getirecektir. Bu doğrultuda HTTP/2 protokolünün getirdiği avantajları ve dezavantajları şu şekilde sıralayabiliriz:
HTTP/2 Özellikleri;
- HTTP/2 protokolü HTTP/1.1’den en büyük farklı çok yönlü iletişim yöntemindedir. HTTP/1.1 protokolünde önce giren önce çıkar şeklinde ifade edebileceğimiz bir sınırlama vardır. Buna göre protokolde yer alan bir veri yanıtlanmadan diğerine geçilmez. Ancak HTTP/2 bunun yerine çift yönlü bir iletişim kullanmaktadır. Nitekim bunun sonucu olarak da yükleme hızları %48’e kadar varan oranlarda artmıştır.
- HTTP/2 TCP bağlantılarında da multiplexing adı verilen bir işleyiş kullanılmaktadır. Bunun anlamı, bir TCP bağlantısı kullanarak çok sayıda istek gönderebileceği şeklinde açıklanabilir. Nitekim çoğu modern web tarayıcısının TCP bağlantılarını sınırladığı düşünülürse bu özelliğin yenilikçi yanını vurgulamak gerekir. HTTP/1.1 her bir istek için ayrı bir TCP bağlantısı kurmak zorundayken HTTP/2’de böyle bir gereklilik yoktur. Bunun yerine tek bir TCP bağlantısı proaktif bir biçimde kullanılmaktadır. Böylelikle RTT ismi verilen isteklerin gidiş ve dönüş süreleri kısalarak sayfaların daha hızlı yüklenmesi sağlanmaktadır.
- Kullanıcı sayısı ya da anlık yoğunluk gibi durumlarda HTTP/2 web sitelerinin yük altında kalmaması açısından daha efektiftir. Daha hızlı gerçekleştirilen protokol işlemleri web sitesinin daha fazla ziyaretçi trafiğini kaldırabilmesini sağlamaktadır.
- HTTP/2 protokolünün en büyük eksisi güvenlik noktasında kabul edilmektedir. Google destekli bir protokol olduğu için geliştirilme sürecinde pek çok firma, Chrome tabanlı şifreleme sistemini kabul etmek istemedi. Bu nedenle şifreleme açısından bazı yöntemler söz konusu olsa da belli bir kafa karışıklığı olduğunu da vurgulamak gerekir. Ayrıca geçmişteki şifreleme yöntemleriyle uyum sorunlarının da yaşanması mevcut problemi daha da büyütmektedir. Yine de yeni şifreleme teknikleri geliştirilerek bu türden açıkların gözden geçirileceğini söylemek yanlış olmaz.
Bu Yazıları da Sevebilirsiniz
Ayrıca Pop-up Nedir, Nasıl Engellenir? konumuzu da ziyaret ederek Pop-up hakkında detaylı bilgilere ulaşabilirsiniz.