HTTP/3 Nedir – Hızlı Yeni UDP tabanlı protokolde düşüş
TL; Dr. Kasım 2018’de Bangkok’ta İnternet Mühendisliği Görev Gücü (IETF) bir araya geldi ve yeni internet taslağı kabul edildi. Taşıma Quic Protokolü, HTTP/2 halefi, adını HTTP/3 olarak değiştirdi.
HTTP/3, Kullanıcı Datagram Protokolü (UDP) üzerine oluşturuldu ve Google ve Facebook gibi önde gelen internet şirketleri tarafından kullanıldı. Chrome kullanıyorsanız ve Google Services’e bağlı, zaten Quic kullanabilirsiniz. HTTP protokolünün yeni sürümü, çıplak metal UDP protokolünden, düşük seviyeden yararlanır ve TCP katmanındaki önceki HTTP sürümünde birçok yeni özelliği tanımlar. Bu, mevcut İnternet altyapısındaki engelleri çözmenin bir yolunu sağlar.
İlk sonuç umut vericiydi ve IETF tarafından internet taslağı sona erdiğinde, Ağustos 2021’de HTTP/3’ün yeni bir üçüncü nesil HTTP standardı olarak tanıtılmasını bekleyebiliriz.
Tıpkı HTTP/2 gibi, HTTP/3, Web’i hızlandırmaya yardımcı olmak için bu başarıyı yeniden oluşturacaktır. HTTP/3 İlerleme Tweet’i için tıklayın 2022’de bazı insanlar web endüstrisinin daha fazla hız ve daha düşük gecikme arzusunun yalnızca Google Chrome’un daha fazla RAM için istekleriyle eşleştiğini söylüyor. Birkaç yıl önce, HTTP/2 hakkında bir makale yayınladık, Standart, W3Techs’e göre, şimdi%45 civarında bir dünya benimseme oranına ulaştı. Ve Can’a göre, tüm modern web tarayıcıları tarafından da destekleniyor. Ama işte, protokolün bir sonraki sürümü HTTP/3 hakkında bir makale yazıyoruz.
HTTP/3 nedir – Layman’ın döneminde
HTTP/3, daha önce HTTP Over-quic olarak bilinen Hipermetin Aktarım Protokolünün (HTTP) üçüncü sürümüdür. QUIC (Hızlı UDP İnternet bağlantıları) başlangıçta Google tarafından geliştirilmiştir ve HTTP/2’nin halefidir. Google ve Facebook gibi şirketler Web’i hızlandırmak için QUIC kullandı.
Destek
Web tarayıcısının önündeki HTTP/3 için Web tarayıcılarını destekleyin, Chrome V87, Firefox V88 ve Edge V87’nin hepsinde varsayılan olarak etkinleştirilen HTTP/3 vardır. Safari kullanıcıları için Safari V104 teknoloji önizlemesine HTTP/3’ü etkinleştirme seçeneği eklendi. Ancak, HTTP/3 desteği Safari’nin istikrarlı bir versiyonunda mevcut değildir.
HTTP/3 için Kütüphane Desteği HTTP/3 teknolojisini kullanmak isteyen geliştiriciler için birçok popüler kütüphane HTTP/3 için destek ekledi. HTTP/3 hala İnternet konseptinin aşamasında olduğundan, aşağıdaki kütüphanelerden biriyle çalışırken en son güncellemeleri izlediğinizden emin olmak istiyorsunuz.
Pas – Kiş, Neqo ve Quinn
C – NGHHTTP3 ve LSQUIC
Git – Quicgo
JavaScript – Node.js
Altyapı tarafında HTTP/3 altyapı desteği, Cloudflare, kenar ağı boyunca HTTP/3’e destek verdi. Bu, CloudFlare ile etkinleştirilen sitenin, ek iş olmadan HTTP/3 güvenlik ve iyileştirme iyileştirmesinden yararlanabileceği anlamına gelir.
Kinsta’da ev sahipliği yaptığımız tüm siteler ücretsiz Cloudflare entegrasyonumuzla korunmaktadır. Şirket düzeyinde güvenlik duvarları ve DDOS korumasına ek olarak, Kinsta müşterileri de HTTP/3’e erişebilir! Sitenizin HTTP/3’ü destekleyip desteklemediğini test etmek için HTTP/3 Geekflare test aracını kullanabilirsiniz. Etki alanınızı yazın ve “HTTP/3’ü kontrol edin” düğmesine basın; bu araç, sitenizin HTTP/3’ü destekleyip desteklemediğini size söyleyecektir.
HTTP/3 Geekflare Test Aracı. Siteniz HTTP/3’ü destekliyorsa, mesajları aşağıdaki gibi görürsünüz. Kinstalife.com Kinsta’da yayınlandığından, HTTP/3, Cloudflare entegrasyonu sayesinde tamamen desteklendi.
Kinsta, HTTP/3 bağlantılarını destekler. HTTP/3 desteğini kontrol etmek için bir tarayıcı muayenesi de kullanabilirsiniz. Bu örnek için, Google Chrome’un HTTP/3’ü destekleyen en son sürümünü kullanacağız. Müfettişi açmak için sayfaya sağlayın ve “Kontrol Et” i tıklayın ve “Ağ” sekmesine gidin. “Protokol” sütununda, bağlantı için kullanılan HTTP protokolünü görebilirsiniz. HTTP/2 bağlantıları “H2” olarak görünürken, HTTP/3 bağlantıları “H3-XX” olarak görünür (xx belirli HTTP/3 taslağına bakınız). Aşağıdaki resimde görebileceğiniz gibi, Kinstalife.com “H3-29” aracılığıyla bağlantıları destekler, bu da “HTTP/3 Taslak 29” anlamına gelir. Şimdi HTTP/3 durumunu şu anda tartıştıktan sonra, HTTP/2 vs HTTP/3 arasındaki bazı farklılıklara dalalım! HTTP/2 HTTP/2 ile küçük bir arka plan başlatma, engellemeyen indirmeler, boru hattı ve altta yatan TCP protokolünün bazı sınırlamalarının üstesinden gelmemize yardımcı olan PUSH sunucusu ile bazı ciddi iyileştirmeler getiriyor. Bu, istek sayısını ve el sıkışma döngülerini en aza indirmemizi sağlar. HTTP/2, bir TCP – çoğullama bağlantısında birden fazla kaynağın itilmesini sağlar. Ayrıca statik indirme siparişinde daha fazla esneklik elde ediyoruz ve sayfalarımız artık doğrusal geliştirme ile sınırlı değil.
Şimdi abone olun
İnternet Protokolü Sürüm 6 veya IPv6, önceki sürümden kademeli olarak benimsenen bu sınırlamanın üstesinden gelmenin bir yolu olarak gelir. 1998’de IETF için standart bir belge taslağına dönüştürüldü ve 2017’de İnternet standardına yükseltildi. IPv4 adres odası 32 bit adres uzunluğu ile sınırlı olsa da, IPv6 standardına 128 bit veya 3.4 * 10 ^ 38 mümkündür adresler. Bu bizi yeterince uzun sürmesi için yeterli olmalı. Google ve IPv6 bağlantısına göre, kullanıcıları arasındaki bağlantıya göre, IPv6’nın benimsenmesi Haziran 2021’de sadece% 35’ten fazla.
RFC791) TCP ve UDP’nin rolünü anlamak şimdi HTTP/3’ün TCP ve UDP ile eşleştiğini keşfetme zamanı. TCP IP, bugün tüm çevrimiçi iletişimimizin altında yatan bir katman olsa da, TCP (iletim kontrol protokolü), web, e -posta, transfer dosyası (FTP) için gerekli güvenilirliği sağlayan daha yüksek bir İnternet protokolü kıyafetidir – Uygulama Katmanı için / İnternet protokolü. Bu, el sıkışmaları, garantili paket dizileri ve eksik paketlerin yeniden dönüştürülmesi ile çok aşamalı bir bağlantının oluşumunu içerir. Bu, gönderene geri bildirim (ACKS) teslimat sağlar. Hataları tespit etmek için bir sağlama toplamı hesaplaması da vardır. Bunların hepsi, güvenilir TCP protokolünü yapan birçok adım gösteriyor ve bugün kullandığımız en ünlü İnternet hizmetinin temelini oluşturuyor. 1974’ten (RFC 675) ve 1981’den (RFC 793) bu günden bu yana özellikler bugüne kadar değişmedi. TCP tarafından sağlanan güvenilirlik ücretsiz olarak gelmez. El sıkışma, gönderim geri bildirimi, sipariş garantileri ve zayıf ve aşırı kabul edilebilecek sağlama toplamlarının ihtiyaç duyduğu tüm gidiş -dönüş yolculuğunun genel giderleri. TCP’nin modern protokollerin engelleyici bir yığını haline getirdi. HTTP/2, TCP’nin üzerinde elde edilebilecek hızdaki bir artışın zirvesine ulaşmıştır. UDP Kullanıcı Datagram Protokolü (UDP), 1980’den beri özellikleri olan İnternet Protokolü Suite’in bir parçasıdır (RFC 768). Adından da anlaşılacağı gibi, datagram tabanlı bağlantısız protokol. Bu, el sıkışma olmadığı ve sipariş veya nakliye garantisi olmadığı anlamına gelir.
Bu, teslimatın, veri bütünlüğünün ve diğer şeylerin uygulama katmanına sunulması için mümkün olan her adımın. Bu, UDP’nin üzerindeki uygulama binasının, kullanılacak bir strateji seçebileceği veya ek yükten kaçınmak için bağlantı katmanının unsurlarını sağlama katmanının öğelerini kullanabileceği anlamına gelir. UDP TCP gibi yaygın olduğundan, İnternet’e bağlı çeşitli cihazlarda veya işletim sistemindeki önemli değişiklikler üzerinde bir ürün yazılımı güncellemesi gerekmeden bir artış elde etmek mümkündür. Yeni protokollerin yayılması, yalnızca TCP veya UDP’nin ulaşmaları gereken kullanıcılar ve sunucular arasında dağıtılmasına izin veren birçok güvenlik duvarı, harç, yönlendirici ve diğer orta kutular tarafından engellenir. – HTTP/3 Açıklanan UTA’lar Bu hacker haberlerinde, yeni HTTP sürümünün mevcut ağ yığınının üzerindeki yapımının arkasındaki nedenleri anlamaya yardımcı olabilir (bundan daha fazlası olmasına rağmen). Kesinti ve kesinti ile atılır. WordPress sorunları? Kinsta, zamanınızı korumak için tasarlanmış bir barındırma çözümüdür! Özelliklerimizi görün
UDP Paket Biçim Özellikleri oldukça minimaldir, başlık bir kaynak bağlantı noktası, hedef bağlantı noktası, uzunluk, bayt, paket başlıkları ve paket verileri ve sağlama toplamından oluşur.Sağlık toplamı, paketin hem başlıklar hem de veri bölümleri için veri bütünlüğünü doğrulamak için kullanılabilir.Temel protokol katmanı IPv4 olduğunda ve IPv6 ile zorunlu olduğunda sağlama toplamı isteğe bağlıdır.Şimdiye kadar UDP, bilgisayar sistemlerinin senkronizasyonu (NTP) saatleri, VoIP uygulamaları, video akışı, DNS sistemleri ve DHCP protokolleri gibi şeyler için kullanılmıştır.Quic ve HTTP/3 Quic (hızlı UDP İnternet bağlantıları) ilk olarak Google tarafından 2012 yılında kullanıldı. Bu, ağ katmanının sınırını yeniden tanımlıyor, daha düşük seviyeli bir UDP protokolüne dayanıyor, el sıkışmasını, güvenilirlik özelliklerini ve güvenlik özelliklerini “uzayda yeniden tanımlıyor” Kullanıcılar “, İnternet genelinde sistem çekirdeğini güncelleme ihtiyacından kaçının.
HTTP/2’ye karşı HTTP/3 kazık yığınları, Google SPDY veya Speedy tarafından öncülük eden bir ilerleme olan HTTP/2 ile aynıdır, HTTP/3 bu başarıyı yeniden oluşturacaktır. HTTP/2 bize çoğalma sağlar ve hat başının engellenmesini azaltırsa da, TCP ile sınırlıdır. Verileri aktarmak için birlikte çoğaltan birkaç akış için tek bir TCP bağlantısı kullanabilirsiniz, ancak bu akışlardan biri bir paket kaybı yaşadığında, tüm bağlantılar (ve tüm akışlar) rehin tutulur, bu yüzden TCP işini yapana kadar -eksik paketi ilişkilendirme). Bu, iletilmiş olsa ve hedef düğüm arabelleğinde beklemiş olsa bile, eksik paket tekrar iletilene kadar bloke edildiği anlamına gelir. Daniel Stenberg, HTTP/3’teki kitabında bu “TCP tabanlı çizgi bloğunun başı” adını verdi. %2’lik bir paket kaybı ile kullanıcıların bu riski korumak için altı bağlantıyla HTTP/1 ile daha iyisini yapacağını iddia etti. Quic bununla sınırlı değildir. Bağlantı olmadan UDP protokolü üzerine Quic oluşturarak, bağlantı konsepti TCP sınırlarını taşımaz ve bir akışın başarısızlığı diğer akışları etkilemek zorunda değildir. Lucas Pardue’nin Cloudflare’den söylediği gibi: UDP akışına odaklanarak HTTP/3’teki Lucas Pardue, QuiC, bir TCP bağlantısında piggyback yapmak zorunda kalmadan çoğalmaya ulaştı. QuiC bağlantısını TCP’den daha yüksek bir seviyede oluşturur. Quic bağlantısındaki yeni akış, başkalarının bitirmesini beklemek zorunda kalmaz. Quic bağlantısı ayrıca gecikmeyi azaltan TCP genel masraflarını ortadan kaldırmadan da yararlanır. Cisco’daki insanlar TCP’nin 3 yönlü el sıkışmalarını açıklayan ilginç videolar yaptı:
Google Quic Cloudflare hizmeti, standardizasyon ilerlemesi hakkında geniş bir güncelleme yayınlıyor. UDP Quic ve HTTP/3’ü doğal faydalardan bazıları sağlarken, aynı zamanda çeşitli zorluklar da getirir. TCP yıllardır ana protokol olmuştur, ancak UDP, işletim sistemi ve genel olarak optimize edilmemiştir. Sonuç olarak, bazı tahminlere göre, HTTP/2 ile iki katına çıkarılan QuIc ile çok daha yüksek bir CPU yükü/gereksinimi vardır. İşletim sistemi çekirdeğinin derinliklerine ve çeşitli cihaz yönlendiricileri ve ürün yazılımı. Bu kırmızı şapka ayarlama kılavuzu teknik olarak olma eğiliminde olanlar için daha fazla konu açıklayabilir. QUIC’in TCP özelliğini daha minimal ve daha esnek protokolün üzerinde yeniden yapılandırmaya çalıştığını söyleyebiliriz. Daha önce bahsettiğimiz Quic bağlantısı, TL’leri ve ulaşım el sıkışmalarını birleştirdi. Yapıldıktan sonra, benzersiz CID (bağlantı kimliği) ile tanımlandı. Bu kimlik tüm IP değişikliklerinde kalır ve indirmeleri kesintisiz olarak güvence altına almaya yardımcı olabilir, örneğin 4G’den WiFi’ye geçişler. Bu, özellikle mobil cihazlarda giderek daha fazla internet trafiği yapıldığından önemlidir. Sorular, bu öğenin çeşitli İnternet bağlantılarında ve sağlayıcılarında daha iyi kullanıcı izlemesini kolaylaştırmak için Google tarafından tasarlanıp tasarlanmadığı ortaya çıkabilir. TLS zorunludur ve ortadaki cihazı kurcalamaya veya trafiği koklamak için karmaşıklaştırmayı amaçlamaktadır. Bu nedenle, UDP protokolünü bir sorun olarak görmek ve devre dışı bırakmanın bir yolunu sağlamak için Cisco gibi güvenlik duvarı sağlayıcılarını ve satıcıları görmek nadir değildir.
Aracıların Quic trafiğini kontrol etmesi ve denetlemesi veya filtrelemeleri daha zordur. QUIC akışı, Quic bağlantısı ile aynı yönde veya iki yönde gönderilir. Akış, başlatıcıyı tanımlayan bir kimliğe ve akışın aynı veya iki yollu olup olmadığını ve ayrıca akıştaki akış kontrolünü sağlayıp sağlamadığı. Quic bir taşıma katmanı protokolü iken, HTTP üzerinde bir katman, uygulama katmanı protokolü veya uygulama protokolüdür. Geriye dönük uyumluluk en önemlisi olduğundan, IETF HTTP/3’ün uygulanmasını teşvik eder ve bir yanıt olarak eski sürümü (HTT1 veya HTTP/2) içerecektir. Bu, istemciye RFC 7838’de açıklandığı gibi bağlantı noktası/ana bilgisayar bilgileri ile birlikte HTTP/3’ün mevcut olduğunu söyleyen bir başlık içerecektir. Bu, TLS el sıkışmalarında müzakere edilebilecek HTTP/2’den farklıdır. Ancak IETF, bir sonraki standart olarak HTTP/3 tabanlı quic’i benimsediğinden, Web istemcilerinin daha fazla HTTP/3 desteği beklemesini bekleyebiliriz. Müşterilerin önceki HTTP/3 bağlantısından veri depolaması ve aynı ana bilgisayara bir sonraki ziyarete doğrudan (sıfır-round-tip veya 0-RTT) bağlanması mümkündür. Özet, tam olarak benimsenmemiş HTTP/2 standartlarıyla HTTP/3’ü yaygın olarak zorlamak için çok erken olabileceğini düşünen insanlar var. Bu geçerli bir noktadır, ancak bahsettiğimiz gibi, bu protokol büyük ölçekli test ve uygulama görmüştür. Google, 2015’in başlarında ve 2017’de Facebook’ta test etmeye başladı. 2022’de Google Chrome ve Brave gibi ana tarayıcıdan HTTP/3 desteğimiz var.