top of page
Writer's picturehacer_bakirci

HTTP/2 hakkında...

Updated: Dec 23, 2020

Tam da yeni çıktığı zamanlar (Şubat 2015) 2015 in Mart ayında haberi yakalayıp üzerine tweet paylaşmışım okuduğum makaleyi içeren :)

Sonra da muhtemelen gerçek hayatımda çalıştığım projelerde kullanmadığım için o da öylece harddiskimde soğuk veri olarak kalmış...

Evet, 5 sene önce hayatımıza girmiş, son model bir protokol HTTP/2.

Halen kullanmakta olduğumuz HTTP 1.1 üzerine hangi ihtiyaçlarımız için çözüm olduğunu kısaca inceleyelim.


Şu an hemem hemen tüm hatırı sayılır browserlar ve çoğu server HTTP/2 yi destekleyebilir durumda. W3Techs'in en son yayınladığı Aralık 2020 istatistiklerine göre Web sitelerinin %49'u HTTP/2 protokolünü kullanıyormuş.



Bu rakamlar günden güne artıyor ve artacaktır tabi ki. HTTP 1.1 'in text tabanlı olması milyonlarca request alan web uygulamaları için bir noktada yetersiz kalmaya başlayacaktır.


Durum bu yöne doğru giderken HTTP/2 nin faydalarını listeleyerek neden bu yeni(!) protokolle hayatımıza daha kaliteli bir şekilde devam etmemiz gerektiğini özümseyelim;


HTTP/2 Faydaları :

- Multiplexing : Birden çok kaynağın tek bir bağlantı üzerinden gönderilmesine izin verir.


- Server push : Sunucuların browser'ın cache'inde zaten var olan bilgilerden ziyade bir sayfanın full contentini dönmeye olanak sağlar. Yani gelecekte istenebilecek ve chachelenebilecek ilgili ek bilgileri de gönderir. Bu durum network latency 'i azaltmaya yardımcı olur.


- Compression : Header'ı sıkıştırarak (HPack kullanarak) performansı artırır.


- Mobile kullanıcılar için de prformans konusunda çok avantajlıdır.


- Binary protokol olduğu için HTTP/2 nin parse edilmesi daha kolaydır ve text tabanlı protokollere göre hem hız hem de güvenlik avantajı sağlar.


- Hemen hemen tüm popüler tarayıcılarla uyumludur, ayrıca eskiye dönük protokollerle de uyumludur.


HTTP/2 Gereksinimleri :


HTTP/2'yi etkinleştirmek için web sitesindeki her sayfanın HTTPS kullanması sağlanmalıdır çünkü browserlar HTTP/2 yi secure connection üzerinden destekliyor. Yani mutlaka web serverımızda SSL sertifikası olmalı, HTTPS enabled olmalı. Ayrıca TLS 1.2 veya üzeri chipher suites gereklidir.


Destekleyen sunucu sürümleri :


Apache -> v2.4.17 ve üzeri

IIS -> 10.0 dan itibaren

NginX 1.9.5 den itibaren desteklemektedir.


Peki, bir web sitesini ziyaret ettiğimizde HTTP/2 protokolünü kullanıp kullanmadığını nasıl anlarız?

Browser'ın developer toolunu açıp (F12) Network tabından Protocol bölümünden görebiliriz.

Eğer Protokol kolonu direkt olarak gelmiyorsa kolon bölümüne sağ tıklanıp listeden seçilebilir.


Bir sonraki konuya temel olması açısından kısa ve öz olduğunu düşündüğüm yazıyı burada sonlandırıyorum.

Konunun derinliklerine inmek için buraya mutlaka bakılabilir.


References


Comments


bottom of page