Internette dolaşırken yazdığımız her adresin başında yer alan, çoğu zaman varlığını dahi aklımıza getirmediğimiz bir protokoldür HTTP. Web sayfalarının içeriklerine erişmek için kullanılan iletişim protokolü olan HTTP’nin şu an 1.1 versiyonunu kullanmaktayız.
Web dünyasında her şey gelişiyor ve değişiyor, bu değişim rüzgârında HTTP de nasibini alıyor. Şu an kullandığımız HTTP/1.1 versiyonu 1999 yılında yayınlanmıştı. Mevcut yapı gayet sağlıklı çalışsa da, yapılacak iyileştirmeler ve geliştirmelerle HTTP’nin daha hızlı ve verimli olması elbette mümkündü. HTTP/2’nin en önemli amacının HTTP/1.1 e göre performansı daha güçlü kılmak ve web sayfalarının daha hızlı yüklenmesini sağlamak olduğunu söyleyebiliriz.
HTTP/2 ile ilgili geliştirmeler IETF grubu tarafından yapılmaktadır. Geliştirmelere destek verenleri bu adresten görebilirisiniz. https://github.com/http2/http2-spec/wiki/Implementations
HTTP/2’de Neler Olacak, Neler Değişecek?
HTTP/2 verileri binary formatta transfer edecek ve yöntem bilgilerin daha hızlı taşınmasına yol açacak(HTTP/1.1 düz metin olarak transfere olanak veriyordu)
HTTP/2 artık sayfaların header bilgilerini sıkıştırılacak(header compression). Dolayısıyla bu şekilde transfer edilen sayfa boyutları azalacak.
HTTP/1.1’de tarayıcıdan sunucuya yapılan eş zamanlı çağrılar limitleniyordu ve en fazla 3-8 arası talep gönderiliyordu. HTTP/2 ile bu limit kaldırılacak ve daha fazla sayıda çağrı gönderilebilecek(multiplexed) Bu özelliğin de web sayfalarının yüklenme hızına olumlu yansıyacağını söyleyebiliriz.
Web sunucuları artık talep gelmeden istemcilere veri gönderebilecek(server push).
HTTP/2 ile http:// ve https:// kullanımlarıyla ilgili bir değişiklik olmayacak.
HTTP/2 geriye uyumlu çalışacak ve HTTP/1.1 desteği olacak. Frame, header, response code gibi yapılar aynen korunacak.
HTTP/2’de Güvenlik
Yapılan fikir birliğinden sonra, HTTP/2’yi geliştiren grup yeni protokolle birlikte hangi şifreleme yöntemini kullanacağında dair tam bir karar veremedi.(TLS vb.) Fakat bu kararsızlığa rağmen, bazı implementasyonlar belirtilmiş olup, geliştrilecek olan şifreleme yönteminin sadece http/2 destekleyecek türden olacağıdır. Bu durum bizler için hem iyi hem de kötü yönleri olacaktır. Kötü yönü diğer şifreleme yöntemleriyle uyum sağlamakta zorlanabilmesi. İyi olan yönü ise yeni şifreleme yöntemleri geliştirilerek, güvenlik açıklarının yeniden gözden geçirilip daha iyi şifreleme yöntemleri kullanılacak olmasıdır.
HTTP/2 ile birlikte akla gelen en önemli konulardan biri tabii ki istemci ve sunucu tarafında bu protokolün ne derece destekleneceğidir. İstemci tarafında web tarayıcılar, sunucu tarafında ise web sunucular artık yavaş yavaş HTTP/2 ile uyumlu hale gelmekte. Aşağıdaki listede şu an HTTP/2 desteği olan uygulamaları görebilirsiniz. https://github.com/http2/http2-spec/wiki/Implementations adresinde daha geniş bir liste ile HTTP/2’yi kendi yapısına uyarlayan uygulamaları görebilirsiniz.
HTTP/2 Web Tarayıcı Desteği
Chrome 40. sürümünden sonra desteklemektedir.
Firefox’un 36. sürümünden sonra HTTP/2 desteği bulunmaktadır.
Windows 10 ile gelecek olan Microsoft’un yeni tarayıcısı Spartan’ın HTTP/2’yi destekleyeceği bekleniyor.
HTTP/2 Sunucu Desteği
IIS sunucuları Windows 10 Beta sürümü HTTP/2’yi desteklemektedir.
OpenLiteSpeed 1.3.8 ve 1.4.5 sürümleri HTTP/2’yi desteklemektir.
nginx, 2015’in sonlarına doğru HTTP/2 desteklemeyi planlamaktadır.
lighttpd, 1.x sürümlerinin hiç birinde HTTP/2 desteği bulunmamaktadır.
Bu yazıyı hazırlarken şu linkler kaynak olarak kullanılmıştır
http://en.wikipedia.org/wiki/HTTP/2
http://http2.github.io/faq
﻿
Etiketler
HTTP/2
Yazıyı paylaş
Sonraki yazı Türk Yazılımcıların Kurduğu veya Yönettiği Global Yazılımlar
Önceki yazı WordPress'te Tema Seçerken Dikkat Edilmesi Gereken Kriterler
Recep Duman
Lisans eğitimini YTÜ Bilgisayar ve Öğretim Teknolojileri Eğitimi bölümünde tamamlamıştır. Üniversite yıllarında geliştirdiği projeler ve finans sektöründe yaptığı stajlar doğrultusunda şu an ING BANK'ta Yazılım Mühendisi olarak görev yapmaktadır. ASP.NET, jQuery, CSS ile projeler geliştirip, PL/SQL ile veritabanı uygulamaları konusunda kendisini geliştirmektedir. Daha çok MVC, Design Pattern ve AngularJS konularını takip etmektedir.