HTTP / 2 Nedir ve İnternet’in Geleceğini Nasıl Etkiler?

  • Michael Fisher
  • 0
  • 4981
  • 834
reklâm

Henüz HTTP / 2 duymamış olabilirsiniz, ancak HTTP’ye yapılan en son güncelleme. Yeni protokol standardı bazı yeni konseptler sunar ve sunucular ve uygulamalar arasında iletişimi daha hızlı ve daha verimli hale getirir.

HTTP Nedir / 2?

HyperText Transfer Protocol Version 2 veya HTTP / 2, 15 yılda HTTP’ye yapılan ilk büyük güncellemedir.

Önceki protokol standardı olan HTTP / 1.1, 1997'den beri kullanılmaktadır ve HTTP sınırlamalarını iyileştirmek için tıknaz geçici çözümler karışımını kullanmaktadır..

SPDY'ye dayanır (“hızlı”), Google’ın HTTP / 1.1’in bazı sorunlarına ve sınırlamalarına yönelik açık kaynaklı bir deneme

İnternet Mühendisliği Görev Gücü (IETF), Köprü Metni Aktarım Protokolü sürüm 2, Taslak 17’de bu gibi değişiklikleri belirler:

“HTTP / 2, başlık alanı sıkıştırması ekleyerek ve aynı bağlantıda birden fazla eşzamanlı değişime izin vererek ağ kaynaklarının daha verimli kullanılmasını ve gecikme algısının azaltılmasını sağlar […]

“Ayrıca, taleplerin önceliklendirilmesine izin verir, daha önemli taleplerin daha hızlı tamamlanmasını sağlayarak performansı iyileştirir.”

“HTTP / 2 ayrıca, ikili mesaj çerçevelemesi kullanarak mesajların daha verimli bir şekilde işlenmesini sağlar..”

“Bu spesifikasyon, HTTP / 1.1 mesaj sözdizimine bir alternatiftir, fakat eski değildir. HTTP'nin mevcut semantiği değişmedi.”

HTTP / 2 SPDY'ye Dayalı

2012 yılına gelindiğinde çoğu modern tarayıcı ve birçok popüler site (Google, Twitter, Facebook vb.) Zaten SPDY'yi destekledi. SPDY'nin popülaritesi arttıkça, HTTP Çalışma Grubu (HTTP-WG), HTTP standardını güncellemek için çalışmaya başladı..

Bu noktadan itibaren, SPDY, HTTP / 2'deki yeni özellikler için temel ve deneysel dal oldu. O sırada, SPDY'nin taramayı nasıl geliştirebileceğini inceledik SPDY Nedir ve Tarama Deneyiminizi Nasıl En Üst Düzeye Çıkarır? SPDY Nedir ve Tarama Deneyiminizi Nasıl En Üst Düzeye Çıkarır? . O zamandan beri, sürüm 2 standardı hazırlandı, onaylandı ve yayınlandı.

SPDY'nin özelliklerinin birçoğu HTTP / 2’ye dahil edildi ve Google sonunda 2016’da bu protokolü desteklemeyi bıraktı..

Çoğu tarayıcı sonunda SPDY'yi desteklemeyi bıraktı ve alternatif olmadığından, HTTP / 2 fiili standart haline geliyor.

HTTP / 2 protokol standardı HTTP / 1 ile tamamen geriye dönük olarak uyumlu olmasa da, çeviri yoluyla uyumluluk sağlanabilir. Yalnızca bir HTTP / 1.1 istemcisi yalnızca bir HTTP / 2 sunucusunu anlamaz ve bunun tersi olur; bu nedenle yeni protokol sürümü HTTP / 2'dir ve HTTP / 1.2 değildir..

Bununla birlikte, HTTP-WG tarafından sağlanan çalışmanın önemli bir parçası, HTTP / 1 ve HTTP / 2'nin hiçbir bilgi kaybı olmadan ileri geri çevrilebildiğinden emin olmaktır..

Girilen yeni mekanizmalar veya özellikler sürümden bağımsız olacak ve mevcut web ile geriye dönük uyumlu olacaktır..

HTTP / 2 gerçekten bir kullanıcının uygulayabileceği bir şey değildir, ancak tarama hızımızı etkilemek için yapabileceğimiz şeyler var. İnternet hızınızı hızlandırmak için bu yaygın efsanelerin herhangi birine inanıyor musunuz? İnternet Hızını Artırma ve Neden Çalışmadıkları Hakkında 5 Efsaneler İnternet Hızını Artırma ve Neden Çalışmadıkları Hakkında 5 Efsaneler 21. yüzyılda kritik bir ölçümdür. Ancak, bağlantınızı nasıl daha hızlı hale getireceğinizle ilgili çevrimiçi birçok yanlış bilgi var. İşte inanmamanız gereken beş efsane.

HTTP / 2'nin Yararları ve Özellikleri

HTTP / 2, HTTP standardında yapılan harika güncellemelerle birlikte gelir. En önemlilerinden bazıları ikili çerçeveleme, çoğullama, akış önceliklendirme, akış kontrolü ve sunucu zorlamadır..

İkili Çerçeveleme

Mfuji09 tarafından HTTP Mesajları CC-BY-SA 2.5 altında lisanslanmıştır.

HTTP2 / 'ye yapılan güncellemenin ardından, HTTP protokol iletişimi ikili kodlanmış çerçevelerin değişimine bölünür. Bu kareler, belirli bir akışa ait olan iletilerle eşleştirilir. Akışlar daha sonra tek bir TCP bağlantısıyla çoğaltılır (bir anlamda birlikte dokunur).

Yeni ikili çerçeve katmanı bazı yeni terminoloji tanıtıyor; Akışlar, Mesajlar ve Çerçeveler.

  • Akışlar, bir veya daha fazla mesaj taşıyan çift yönlü bayt akışlarıdır..
  • Bu akışların her biri benzersiz bir tanımlayıcıya sahiptir ve isteğe bağlı öncelik bilgilerini kullanarak çift yönlü mesajlar taşıyabilir..
  • Çerçeveler, belirli veri kümelerini (HTTP başlıkları, mesaj yükleri vb.) İçeren HTTP / 2'deki en küçük iletişim birimidir. Başlık en azından çerçevenin ait olduğu akışı tanımlayacaktır..
  • Mesajlar, mantıklı bir istek veya yanıt mesajıyla eşleşen eksiksiz bir çerçeve kümesidir..
  • Her mesaj bir veya daha fazla kareden oluşan bir istek veya yanıt gibi mantıklı bir HTTP mesajıdır..

Bu, geçmişte ihtiyaç duyulan çoklu için ne olduğu için tek bir TCP bağlantısı kullanmamızı sağlar.

çoklama

HTTP / 1.1, bağlantı başına bir seferde yalnızca bir yanıtın alınabilmesini sağlar. İstemci çoklu paralel istekler yapmak isterse, tarayıcı ek TCP bağlantıları açacaktır..

HTTP / 2, bu HTTP / 1.1 sınırlamasını kaldırır ve tam istek ve yanıt çoğulmasını sağlar. Bu, istemci ve sunucunun bir HTTP mesajını daha sonra birleştirilen ve diğer uçta yeniden birleştirilen bağımsız çerçevelere bölebileceği anlamına gelir..

Genel olarak, bu kısmen çoklu bağlantı ihtiyacını ortadan kaldıracağından, HTTP / 2'nin en önemli geliştirmesidir. Bu da tüm web teknolojilerinde sayısız performans avantajı sağlayacaktır..

Azaltılmış bağlantı sayısı daha az Taşıma Katmanı Güvenliği (TLS) anlaşması, daha iyi oturum yeniden kullanımı ve istemci ve sunucu kaynağı gereksinimlerinde genel bir azalma anlamına gelir. Bu, uygulamaları daha hızlı, daha basit ve dağıtmak için daha ucuz hale getirir.

Çok sayıda dış varlığa sahip web siteleri (resimler veya komut dosyaları), HTTP / 2 çoklama işleminden elde edilen en yüksek performansı görecektir.

Akış Önceliği ve Bağımlılık

Çoklanmış akımların daha da iyileştirilmesi, ağırlık ve akış bağımlılıkları ile yapılır. HTTP / 2, her bir akışa ağırlık vermemizi (1 ile 256 arasında bir değer) ve açıkça başka bir akışa bağımlı kılmamızı sağlar.

Bu bağımlılık ve ağırlık kombinasyonu, sunucuya müşterinin nasıl yanıt almayı tercih edeceğini söyleyen bir önceliklendirme ağacının oluşturulmasına yol açar..

Sunucu, CPU, bellek ve diğer kaynakların tahsis edilmesini kontrol etmek için önceliklendirme ağacındaki bilgileri ve müşterinin yüksek öncelikli yanıtların en iyi şekilde alınmasını sağlamak için bant genişliğinin tahsis edilmesini kullanacaktır..

Akış kontrolü

HTTP / 2'deki akış kontrolüyle ilgili konular HTTP / 1.1'e benzer. Bununla birlikte, HTTP / 2 akışları tek bir TCP bağlantısı içinde çoğullandığından, HTTP / 1.1 çalışmalarındaki akış kontrolü artık verimli değildir.

Kısacası, bir tıkanmaya neden olmak üzere birbiriyle karışan akışları durdurmak için akış kontrolü gereklidir. Bu, çoğullamayı mümkün kılar. HTTP / 2, protokol değişikliği gerektirmeden çeşitli akış kontrol algoritmalarının kullanılmasına izin verir..

HTTP / 2'de akış kontrolü için bir algoritma belirtilmemiş. Bunun yerine, müşterilere ve sunuculara kendi akış kontrollerini uygulamalarında yardımcı olmak için bir yapı bloğu seti sağlanmıştır..

Bu yapı taşlarının özelliklerini “Akış kontrolü” HTTP / 2 internet taslağı bölümü.

Sunucu İtme

Tarayıcınız normalde bir sayfayı ilk ziyaret ederken bir sunucudan bir HTML belgesi ister ve alır. Sunucunun daha sonra tarayıcının HTML belgesini ayrıştırmasını ve katıştırılmış varlıklar (CSS, JavaScript, resimler vb.) İçin bir istek göndermesini beklemesi gerekir..

HTTP / 1.1’de, sunucu bu talepleri tarayıcı talep edinceye kadar gönderemez ve her varlık ayrı bir istek gerektirir (yani birden fazla el sıkışma ve bağlantı).

Sunucu zorlaması, sunucunun istemcilerden isteyebileceğini bildiği gibi, bu kaynakları istemeden göndermesine izin vererek gecikmeyi azaltacaktır. Bu nedenle yukarıdaki örnekte, sunucu CSS, JavaScript (ortak bir betik dilidir) JavaScript'i ve Nasıl Çalışır? JavaScript Nedir ve Nasıl Çalışır? Javascript nedir? Web sayfalarını geliştirmek için kullanılan bir programlama dilidir. Dinamik olarak güncellenen web sayfalarını, kullanıcı arayüzlerini ve daha fazlasını içerir. Web sayfalarında Javascript'in ne hakkında olduğuna bakalım) ve görüntüleri daha hızlı görüntülemek için tarayıcıya görüntüleyelim..

Temel olarak, sunucu itme bir sunucunun tek bir müşteri isteği için birden fazla yanıt göndermesine izin verir.

El ile de olsa, şu anda elde ettiğimiz etki, CSS veya JS'yi HTML belgelerimize eklememizdir - istemciden istemesini beklemeden satır içi kaynağı istemciye zorluyoruz.

Bu, katı bire bir talep yanıt iş akışının geçerli HTTP standardından uzak büyük bir adımdır.

HTTP / 2 Sınırlamaları

SPDY'nin güvenlik konusunda biraz daha katı bir politikası vardı ve tüm bağlantılar için SSL şifrelemesi gerekiyordu. HTTPS / 2 şifreleme gerektirmez, ancak pek çok hizmet SSL olmadan HTTP / 2 sunmaz.

Tüm büyük tarayıcılar HTTP / 2'yi destekler, ancak hiçbiri şifrelemeden desteklemez. CanIU’nun web sitesinde, yukarıda görüldüğü gibi, HTTP / 2 için geçerli tarayıcı desteği hakkında mükemmel bir tablo görünümü vardır..

HTTP / 1.1 ve HTTP / 2 arasındaki geriye dönük uyumluluk ve çeviriler sayfa yükleme hızını yavaşlatır.

Şifrelemenin şimdiye kadar varsayılan veya zorunlu bir kurulum olmamasının gerçek bir nedeni yoktur. Sitenizde zaten bir SSL sertifikanız varsa, HSTS'yi etkinleştirerek HTTPS web sitenizin güvenliğini artırabilirsiniz..

HTTP / 2 Gelecek Büyük Şey?

HTTP / 2, 2015'in ortalarında bir standart olarak önerildi ve çoğu tarayıcı bu yılın sonuna kadar destek ekledi. HTTP / 2 zaten internetin çalışma şeklini ve uygulamalarla sunucuların birlikte konuşma şeklini zaten etkiliyor.

HTTP / 2 kullanımını zorlamak için bir gereklilik yoktur, ancak şu ana kadar yalnızca faydalar ve dezavantajları yoktur. Aynı zamanda, kullanıcı bakış açısından oldukça küçük bir değişiklik, insanların gerçekten farketmeyecekleri bir şey..

W3Tech’e göre, ilk 10 milyon web sitesinin% 31,7’si şu anda HTTP / 2’yi destekliyor. Web sitenizde çoğunuzun HTTP / 2'yi etkinleştirmesinin en hızlı yolu Cloudflare CDN'sini kullanmaktır..

Bir sonraki önerilen standart (HTTP / 3) zaten çalışmalarda ve Google’ın bir başka deneysel projesi olan QUIC’e dayanıyor. Bu yılın ekim ayında, IETF'in HTTP-WG ve QUIC Çalışma Grubu, QUIC'den resmen dünya çapında yeni bir standart haline gelmesini ve HTTP / 3'ü yeniden adlandırmasını istedi..

? .




Henüz no comments

Modern teknoloji hakkında basit ve uygun fiyatlı.
Modern teknoloji dünyasında rehberiniz. Her gün bizi çevreleyen teknolojileri ve araçları nasıl kullanacağınızı ve Internet'te ilginç şeyleri nasıl keşfedeceğinizi öğrenin.