1989’da Sir Timothy John Berners-Lee, 25 MHz CPU ve birkaç MB RAM ile bir NeXTcube iş istasyonunda HTTP protokolünü icat etti ve 10 Mbit port bağlantı hızlarına sahip ağlarda çalıştı. Yani  HTTP, ‘www’ üzerinde kullanılan bir iletişim protokolü ve bu protokol sayesinde siz web sayfalarını görüntüleyebiliyorsunuz.

HTTP protokolü PC ve server arasındaki alışverişin sağlanmasına dair kurallar ve yöntemleri düzenleyen bir sistem.Bu sistemlerin arasındaki ilişkiyi herhangi bir  web sitesine bağlanmaya çalıştığınızda adresin başına “http” yazmasanız bile tarayıcının bunu otomatik olarak eklemesinden görebilirsiniz.

 

HTTP protokolü zaman içinde kendisini çok geliştirdi. Her şey de olduğu gibi bu protokolün de sürümleri ortaya çıktı. İlk kurulduğu zamanı göz önünde bulundurursak şu an milyonlarca bilgisayar ve RAM bulunmakta. O yüzden neden hala onu kullanıyoruz deyip 1992 yılında HTTP güncellenip 1.1 versiyonu hayatımıza girdi ama 1992’den bu 2014’e kadar diğer protokoller defalarca güncellenirken (FTP -> SFTP; POP3->IMAP; telnet -> SSH) HTTP 1.1 aynı kaldı. Tabii ki bu da hız, güvenlik ve kolaylık açısından sorun oluşturdu. En sonunda 2014 yılında İnternet Mühendisliği Yürütme Grubu (IETF) HTTP / 2’yi önerdi ve 2015te umuma sunuldu.

Geçmişten günümüze HTTP Sürümleri ;  http/0.9, http/1.0 , http/1.1, http/2.0 

Bu sürümleri incelediğimde en büyük farkın hız olduğunu gördüm. Zaten kullanıcıyı en çok sıkan ulaşmak istediği siteye istediği zaman ulaşamamasıydı. Yani Http her sürümünde weble  bağlantıdan aldığı sonucu bir üst seviyeye çıkarmak için çabalamıştır.

Bu protokolün her sürümünde ki kuralları farklı; örneğin 1.0 sürümünde istekler tek tek bağlantı kurup ve cevaplar tek tek gönderiyor ve en sonunda da bağlantı oturumunu kapatıyor. Bu da tabi ki işlem süresini arttırıyordu.

HTTP vs HTTP 2

HTTP/ 2’nin tarayıcılar tarafından da uzun süredir beklenildiğini Chrome, Opera Firefax, Explorer gibi tarayıcılar tarafından ilk baştan itibaren sürekli desteklemelerinden anlayabiliyoruz.

Peki SPDY tabanlı dedik, nedir bu SPDY?

O zamanlar Google veri merkezlerini desteklemek için yılda milyonlarca dolar harcıyordu ve HTTP / 1.1 protokolünün CPU kaynakları ve internet bağlantı kapasitesi açısından çok fazla maliyeti vardı. Google  SPDY’yi, HTTP / 2’nin habercisi olan daha iyi güvenlik ve geliştirilmiş sayfa yükleme süreleri için tasarlanmış bir protokol olan HTTP / 1.1’e deneysel bir alternatif olarak geliştirdi.

Spdy Protokolu

HTTP / 2’yi kullanmanın bazı avantajları nelerdir?

Bu protokolün esas odak noktası gecikme süresini azaltmaktır.

HTTP 1.1’e göre yapılan temel değişiklikler ilk giren ilk çıkar sınırlamalarından sıyrılıp çift yönlü iletişime geçip öncelikli zamanlamayı ön plana çıkarmıştır. Bunun sonucunda da sayfa yükleme hızında %12lerden %48lere uzanan bir hız artışı olmuştur.

HTTP / 2 tamamen çoklamalı. Bu da HTTP / 2’nin tek bir TCP bağlantısı üzerinden paralel olarak veri için birden çok istek gönderebileceği anlamına gelir. Bu, bir sunucudan ASync modu aracılığıyla web dosyalarını indirmenize izin verdiği için HTTP / 2 protokolünün en gelişmiş özelliğidir. Çoğu modern tarayıcı TCP bağlantılarını bir sunucuya sınırlar.

Multiplexing-HTTP2

Sunucuların, her bir kaynak için yeni bir istek beklemesi yerine yanıtları istemci önbelleklerine proaktif bir şekilde “itmeleri” sağlanııyor.

HTTP2

 

İlk bağlantı sırasında uygulama protokolü belirlendiğinden daha hızlı şifrelenmiş bağlantılar sağlayan yeni ALPN uzantısını kullanır.

Ek gidiş dönüş sürelerini (RTT) kısaltır ve web sitenizin herhangi bir optimizasyon yapılmadan daha hızlı yüklenmesini sağlar.

Domain-Sharding-HTTP2

HTTP / 2 protokolü, çalışabilmesi için tarayıcınızın geçerli sürümü tarafından desteklenmelidir.
Şu anda hangi tarayıcıların HTTP / 2’yi desteklediğini gösteren bir şema:Browser-compatibility-HTTP2

HTTP/2 Dezavantajları nelerdir?

Her şeyden önce, günümüzde HTTP / 2’den üstün bir alternatif yok. Tarayıcılar yalnızca SPDY’yi destekleyen Mozilla Firefox’la birlikte HTTP / 2 lehine SPDY’yi desteklemeyi reddetti. Bazı uzmanlar, bu sorunların gelecekte “HTTP / 3” protokolünün yayımlanması ile düzeltilebileceğine inanıyorlar ancak şu an için bunlar eksilerin bazıları.

Şifreleme mevzusu var tabi bir de. HTTP / 2 geliştiricileri arasındaki anlaşmazlıklar  “HTTP / 1.1’deki şifrelemeyi bırak” kararını vermiştir. Bu, bir web sitesini hala düşük bir düzey de olsa güvenlik potansiyel kullanıcıları riske sokuyor. Tarayıcı geliştiricileri, bu sorunu bir şekilde düzeltebilir. Şu anda yalnızca SSL / TLS protokolleri varsa HTTP / 2’yi etkinleştiriyorlar.

Aynı zamanda çerez güvenliği de problem olan bir konudur. HTTP / 1.1’in en büyük güvenlik hatalarından biri, bir sunucuya (web sitesi) bir HTTP isteğinde bulunabilecek istemci verilerini içeren çerezler-.txt dosyalarıdır. Bu dosyaları kullanarak sunucu, istemciyi tanımlayabilir ve örneğin, bir oturum açma ve parola sormaya gerek kalmadan istemci oturumunu açık tutabilir. Google gibi bazı reklam sağlayıcıları, çerezlerde kullanıcıyla ilgili bilgileri (ör. Cinsiyet, yaş, ilgi alanları, vb.) depolayabilir. Bu bilgi daha sonra kişiselleştirilmiş reklamları o kullanıcıyı hedeflemek için kullanılır.

Bu kullanıcılara iyi gelmeyebilir, ancak gerçek şu ki, çerezlerin bilgisayar korsanları tarafından çalınması veya kurcalanması mümkündür.

Bu, bilgisayar korsanlarının e-postalarınıza, sosyal ağlarınıza ve şifreleriniz olmadan bile kişisel verilerinizi içeren diğer web sitelerine erişebilecekleri anlamına gelir. Buna çapraz site komut dosyası (XSS) saldırısı denir.

HTTP 2 Test


Yazar : Gül EKMEN – /@Spartaninrozu

 

Kaynaklar:

HTTP/2 Nedir ?

http://www.nedir.com/http
http://www.epigra.com/blog/http2-web-2-0-hakkinda-bilmeniz-gerekenler/
http://networkkampus.com/http-nedir-ne-ise-yarar/
https://www.quora.com/What-are-the-differences-between-HTTP-2-0-vs-HTTP-1-0
https://stackoverflow.com/questions/28592077/difference-between-http-1-1-and-http-2-0
https://www.thewebmaster.com/hosting/2015/dec/14/what-is-http2-and-how-does-it-compare-to-http1-1/
https://bagder.gitbooks.io/http2-explained/en/part2.html
https://www.upwork.com/hiring/development/the-http2-protocol-its-pros-cons-and-how-to-start-using-it/
https://www.nginx.com/blog/7-tips-for-faster-http2-performance/

 

Facebook Sayfamizdan Bizleri Takip Edebilirsiniz