HTTP/1.1 (Hypertext Transfer Protocol 1.1 ) protokolü onaylandığında yıl 1999 du ve en hızlı bilgisayarlar 500MHz Pentium III chipsetli olanlardı 2000 yılına girileceği için yazılım mühendisleri Y2K BUG
1. Protokolün kendisi
2. HPACK (HTTP/2 içi başlık sıkıştırması - Header compression) ; Kullanıcının sayfa görüntülemesini hızlandırıp gereken bandwidth i (bant genişliği)azaltacak ve güvenli bağlantı işlemini kolaylaştıracak
HTTP/2 kısmen Googlenin önceki SPDY (Speedy) protokolüne dayanır ve hızlandırma tekniklerini ondan alır kısacası SPDY için HTTP/2 nin babası denebilir.
HTTP/2 Web trafiğini nasıl hızlandıracak
1. HTTP 1.1 de veriler dört harklı txt mesaj stili kullanılarak transfer edilirken HTTP/2 de Bütün veriler Binary formatta transfer edilecektir (İkili sayı sistemi yani tüm sayılar 0 ve 1 rakamları kullanılarak ifade edilirler) , böylece Web sunucuları ve tarayıcıları için veri transferi hem daha kolay hemde daha hızlı olacaktır. Mozilla platformundan bir mühendis olan Patrick McManus her bir bağlantının ortalama en az 1 megabyte lık bir veri transferi gerektirdiğini gözlemlemiştir ve milyarlarca bağlantıda bunun hesabını siz yapın , aslında HTTP/2 sıkıştırma algoritması olarak GZIP kullanacaktı gel gelelim Burada bahsedilen açık sebebi ile daha etkisiz ama daha güvenli başka bir sıkıştırma yöntemi tercih edildi
2. HTTP/2 multiplexing (birşeyin çoklanmasıdır) kullanarak web sitelerinin daha duyarlı olmasını sağlar ,
3. HTTP/2 server Push u destekler buda veri iletimini hızlandırır , Server Push teknolojisi ndir diye kısaca açıklamaya çalışırsak : Web uygulamaları, HTTP protokolü kullanarak iletişim kurarlar gel gelelim HTTP protokolü bir serverin client e (istemci yada kullanıcı) bildirim göndermesini desteklemez fakat bir hile ile GWT uygulaması çalıştıran bir tarayıcı ile yollanan isteklere sunucunun yanıt vermesi sağlanır buna da server push denir. yani daha anlaşılır bir deyimle ; eski sistemde (HTTP 1.1) Bir sayfayı ziyaret ettiğimizde önce HTML gönderilir sonrada tarayıcı JavaScript, Flash, rssim dosyalarını vs yi sorgular bu da birçok bağlantı kurulması demektir, oysa yeni HTTP2 de server cachenizde olanlar dışında full sayfayı yollar. Ayrıntılar için bakınız
4. HTTP/2 de Bir web sayfasının bazı unsurlarına diğerlerine göre öncelik verilebilir ,örneğin youtubeye giren bir kullanıcıda Video önceliği vardır (Önemli olana öncelik verilir)
5. Üstbilgi sıkıştırma , herbir HTTP bağlantısının header denen bir üst bilgisi vardır ve her bağlantı bir HTTP başlığı bağlantısı ile ilgili verileri içermelidir zamanla bu bilgiler daha geniş ve karmaşık hale geldi bu nedenle sayfaalrın daha seri hale gelmesi için HPACK başlık verilerini sıkıştırmaktadır
Eski HTTP 1.1 de bir web sayfasını ziyaret ettiğimizde sadece tek bir veri çağrılabilirken dört ile sekiz TCP/IP bağlantısı oluşturulur ,
HTTP/2 de ise aynı anda birden fazla veri çağrılabilir ve sadece bir adet TCP/IP bağlantısı oluşturulur
Mevcut tarayıcıların hemen hemen hepsinin HTTP2 desteği vardır gel gelelim HTTP2 nin tam anlamı ile kullanımı belkide 2006 veya sonrasında olabilecektir (Tahmin)
Chrome de HTTP2 yi Etkinleştirelim
Adres satırına aşağıdakini yazalım
chrome://flags
Sonrasında Klavyedeki Ctrl ve F tuşlarına basıp aramaya SPDY/4 yazalım (google HTTP/2 yerine SPDY/4 tabirini kullanmıştır) ve buradaki ekinleştir linkine tıklayın (Aşağıdaki resim)
Firefox ta HTTP2 yi Etkinleştirelim
Firefox diğer tarayıcılar gibi HTTP/2 yi sadece şifrelenmiş HTTPS bağlantılarında kullanır bu nedenle aşağıdaki her iki bileşende aktifleştirilmelidir
http2 ssl.enable_alpn
Bunun için tarayıcı satırına aşağıdakini yazıp
about:config
çıkan uyarı sayfasında "Söz veriyorum dikkatli olacağım" linkine tıklayalım ve üstte verdiğim cümleleri sırası ile arama satırına girelim çıkan sonucun değer kısmında true olduğundan emin olalım (Aşağıdaki resim)
Firefox un en yeni sürümlerinde Bu her iki değerde aktif halde gelebilir.