QUIC, IETF tarafından RFC 9000'da tanımlanan güvenli, genel amaçlı bir taşıma protokolüdür ve UDP üzerinden çalışır, TLS el sıkışmasını bağlantıya entegre eder. HTTP/3, taşıma olarak QUIC kullanır. Bu, proxy'ler için önemlidir: HTTP CONNECT yöntemi TCP'yi tüneller, bu nedenle QUIC trafiğinin UDP'yi iletebilecek bir proxy yoluna ihtiyacı vardır.
QUIC, bağlantılarını korumak için TLS 1.3 kullanır. Bir sunucu, "h3" protokolünü adlandıran bir Alt-Svc başlığı göndererek istemcilere HTTP/3'ün mevcut olduğunu bildirebilir.
QUIC'in Temel Özellikleri
- Akışlar: Veriler bağımsız akışlar üzerinden iletilir. HTTP/2'nin TCP üzerinden çalışması durumunda, kaybolan bir paket her aktif isteği durdururken, QUIC üzerinden HTTP/3, bir akıştaki kaybın diğerlerini bekletmesini engeller.
- Yerleşik şifreleme: TLS el sıkışması, QUIC'in bir parçasıdır ve ayrı bir katman olarak değil.
- Bağlantı göçü: Bağlantı kimlikleri, bir bağlantının yeni bir ağ yoluna geçmesine olanak tanır; örneğin, bir cihaz ağ değiştirirken.
- 0-RTT: Daha önce bağlanmış bir istemci, yeni bir bağlantıda hemen veri gönderebilir.
QUIC ve Proxy'ler
- SOCKS5 üzerinden UDP: SOCKS5, UDP'yi UDP ASSOCIATE komutu aracılığıyla destekler.
- HTTP üzerinden UDP: RFC 9298, CONNECT-UDP'yi tanımlar; bu, HTTP'de UDP'yi, CONNECT'in TCP'yi proxy'lemesi gibi proxy'ler. Tünellenmiş UDP genellikle QUIC taşır.
- Tavsiye edilen taşıma: RFC 9298, UDP proxy'lemenin HTTP/3 üzerinden çalışması gerektiğini belirtir; bu, dış bağlantı TCP kullandığında tekrar kayıp kurtarma yapılmasını önler.
Köken ve Standartlaştırma
- 2012: Google, daha hızlı sayfa yüklemeleri için TCP+TLS+HTTP/2 alternatif olarak QUIC üzerinde çalışmaya başladı.
- 2013-2014: Chrome, şimdi Google QUIC olarak adlandırılan erken sürümlerle küçük deneyler yaptı ve ardından bunları yaygın olarak dağıttı.
- 2015: Google, QUIC'i IETF'ye getirdi. 2017'den itibaren, IETF sürümleri Google QUIC'ten ayrılmaya başladı.
- 2021: IETF, QUIC'i RFC 9000 olarak yayımladı. Chrome, Chrome 93'te tüm kullanıcılar için varsayılan olarak etkinleştirdi.
Sınırlamalar
- Engellenmiş UDP: Bazı ağlar tüm UDP trafiğini engeller. IETF tarafından alıntılanan çalışmalar, bunun ağların yaklaşık %3 ila %5'ini oluşturduğunu belirtmektedir.
- Geri dönüş: Bu ağlarda, uygulamalar başarısızlığı kabul etmek veya başka bir taşıma yöntemine geri dönmek zorundadır. HTTP için geri dönüş, TCP üzerinden TLS'dir.
- Ağlar için daha az görünür: QUIC, tüm yük verilerini ve çoğu kontrol bilgisini şifreler. Sadece başlığın bir kısmı ağa açılır.