sgcQUIC Gidiş dönüşleri atlayın. Yerel QUIC.

TCP artı TLS, bir yanıtın ilk baytı gelmeden önce üç gidiş-dönüş gerektirir. QUIC, taşımayı ve şifreleme el sıkışmasını tek bir adımda birleştirir; devam ettirilen bir bağlantı ise verilerini daha ilk paketle gönderebilir. sgcQUIC, Delphi, C++ Builder ve .NET'e yerleşik bir QUIC taşıması ve bunun üzerine kurulu bir HTTP/3 istemcisi ve sunucusu sağlar, OpenSSL 3.5 QUIC motoru üzerinde.

sgcWebSockets Enterprise için bir eklenti. Fiyatlandırmaya bakın →
  • RFC 9000, 9114, 9204
  • WebTransport (RFC 9220)
  • 0-RTT
  • Bağlantı geçişi
  • Delphi
  • C++ Builder
  • .NET
  • 4Tek palet sayfasında bileşenler
  • 4RFC'ler: 9000, 9114, 9204 ve 9220
  • 1Veriden önce gidiş dönüş, TCP artı TLS için üç
  • 0-RTTDevam ettirilen bir oturumun ilk paketinde ilk istek
  • 3Diller: Delphi, C++ Builder ve .NET
Neden QUIC

Aynı TLS 1.3 güvenliği. Hat üzerinde daha az gidiş-dönüş.

TCP üzerinde aktarım el sıkışması, TLS el sıkışması ve ilk istek birer gidiş dönüşe mal olur. QUIC üçünü tek bir değişimde taşır.

TCP + TLS 1.3 QUIC (HTTP/3) İstemci Sunucu İstemci Sunucu SYN SYN-ACK ACK ClientHello ServerHello, cert Finished GET /pets/42 200 OK Veriden önce 3 gidiş-dönüş Initial + Handshake + GET Handshake + 200 OK Veriden önce 1 gidiş-dönüş Devam ettirilen bir oturumda 0-RTT: GET + early data Aynı TLS 1.3 güvenliği. Hat üzerinde daha az gidiş-dönüş.

TCP + TLS: üç gidiş dönüş

SYN, SYN-ACK ve ACK soketi açar. ClientHello, ServerHello ve Finished TLS'i kurar. İlk istek ancak bundan sonra çıkar.

QUIC: bir gidiş dönüş

QUIC, aktarım ve kripto el sıkışmasını tek bir değişimde birleştirir; böylece istek el sıkışmayla birlikte yol alır ve yanıt da onunla birlikte döner.

Devam ettirilen: 0-RTT

Daha önce bağlanmış bir istemci, el sıkışma tamamlanmadan, ilk isteğini daha ilk pakette gönderebilir.

Çalışırken izleyin

Delphi ile QUIC ve HTTP/3, birkaç dakikada.

Sesli anlatımlı, altyazılı bir hızlı başlangıç: bir HTTP/3 sunucusu ve istemcisi, ardından birden çok akışlı ham bir QUIC bağlantısı. Oynat'a basana kadar hiçbir şey indirilmez.

sgcQUIC hızlı başlangıç

Delphi'den bir HTTP/3 sunucusu ve istemcisi çalıştırın ve ham bir QUIC bağlantısı açın.

  1. HTTP/3 istemcisiOluşturun, bir URL ile Get çağırın ve yanıtı okuyun. Fiiller, durum kodları ve başlıklar zaten bildikleriniz.
  2. Eşzamanlı veya eşzamansızOnResponse ve OnError olaylarını işleyin, ardından GetAsync çağırın; istek formunuzu bloke etmeden çalışır.
  3. HTTP/3 sunucusuBir TsgcHTTP3Server oluşturun, ona bir port, bir sertifika ve bir özel anahtar verin ve OnH3Request olayını işleyin.
  4. Ham QUIC ve çoklu akışTsgcQUICClient tek başına, bağımsız akışlar için EnableMultiStream ile; her akış sıralı ve akış denetimlidir.
  5. Yayınlamadan önceQUIC, UDP üzerinden çalışır; bu yüzden yalnızca TCP 443'ü açan bir güvenlik duvarı onu engeller.
Dört bileşen

Ham QUIC veya üzerinde HTTP/3.

Kendi çerçevelemenizle çıplak bir taşıma için TsgcQUICClient ve TsgcQUICServer'ı kullanın, ya da tel biçimi HTTP olduğunda doğrudan TsgcHTTP3Client ve TsgcHTTP3Server'a yönelin.

QUIC İstemcisi ve Sunucusu

TsgcQUICClient ve TsgcQUICServer ham QUIC konuşur: tek bir şifreli bağlantı üzerinde birden çok bağımsız akış, güvenilmez datagramlar ve istemcinin IP adresi oturum ortasında değiştiğinde bağlantı geçişi.

QUIC bileşenlerini görüntüleyin →

HTTP/3 İstemcisi ve Sunucusu

TsgcHTTP3Client ve TsgcHTTP3Server, HTTP semantiğini üzerine katmanlar: QPACK ile sıkıştırılmış istek ve yanıt başlıkları, Alt-Svc keşfi ve HTTP/2 kodunuzun zaten kullandığı aynı metotlar ve durum kodları.

HTTP/3 bileşenlerini görüntüleyin →

0-RTT oturum devam ettirme

Daha önce bağlanmış bir istemci, el sıkışma tamamlanmadan, ilk isteğini daha ilk pakette gönderebilir.

Bağlantı Geçişi

Bir Bağlantı Kimliği, IP adresi değil oturumu tanımlar; böylece Wi-Fi'den mobil veriye geçen bir telefon akışlarını açık tutar.

WebTransport

WebTransport konuşan tarayıcı istemcileri için, tek bir Extended CONNECT isteği üzerinden çift yönlü akışlar ve güvenilmez datagramlar.

Yerleşik QUIC, harici bağımlılık yok

QUIC ve TLS 1.3 el sıkışması, OpenSSL 3.5'in kendi QUIC motoru üzerinde çalışır. Derlenecek veya paketlenecek ayrı bir QUIC kütüphanesi yoktur.

Standartlar üzerine kuruludur

QUIC ve HTTP/3, RFC'lere harfiyen uygun.

sgcQUIC kısmi bir uygulama değildir. Taşıma, çerçeveleme, başlık sıkıştırması ve WebTransport uzantısının tamamı, yerleşik OpenSSL 3.5 QUIC motoru üzerinde kapsanır.

RFC 9000

QUIC taşıma protokolü: akışlar, datagramlar, akış kontrolü ve bağlantı geçişi.

RFC 9114

HTTP/3, HTTP/2 ile aynı istek ve yanıt semantiği, QUIC akışları üzerinden taşınır.

RFC 9204

QPACK başlık sıkıştırması, QUIC'in sırasız akış teslimatına göre tasarlanmıştır.

RFC 9220

HTTP/3 üzerinden WebTransport, tek bir Extended CONNECT isteğinde çift yönlü akışlar ve datagramlar.

Kod

HTTP/3 üzerinden tek bir istek.

Diğer tüm sgcWebSockets HTTP istemcileriyle aynı yapı: özellikleri ayarlayın, bir olayı işleyin, bir yöntemi çağırın. Sunucu tarafı tek bir bileşen ve tek bir işleyicidir.

uses
  sgcHTTP3_Client;
var
  vClient: TsgcHTTP3Client;
begin
  vClient := TsgcHTTP3Client.Create(nil);
  vClient.Host := 'api.example.com';
  vClient.Port := 443;
  vClient.OnResponse :=
    procedure(Sender: TObject; const AStatus: Integer; const ABody: string)
    begin
      Memo1.Lines.Add(Format('%d: %s', [AStatus, ABody]));
    end;
  vClient.OnAltSvc :=
    procedure(Sender: TObject; const AAltSvc: string)
    begin
      Memo1.Lines.Add('Alt-Svc: ' + AAltSvc);  // h3 advertised over HTTP/2
    end;
  vClient.Connect;
  vClient.Get('/pets/42');
end;
uses
  sgcQUIC_Client;
var
  vQUIC: TsgcQUICClient;
begin
  vQUIC := TsgcQUICClient.Create(nil);
  vQUIC.Host := 'quic.example.com';
  vQUIC.Port := 4433;
  vQUIC.EnableMultiStream := True;
  vQUIC.OnQUICConnect :=
    procedure(Sender: TObject)
    var
      vStreamId: Int64;
    begin
      vStreamId := vQUIC.OpenStream;
      vQUIC.WriteData(vStreamId, 'ping');
    end;
  vQUIC.OnQUICStreamData :=
    procedure(Sender: TObject; const AStreamId: Int64; const AData: string)
    begin
      Memo1.Lines.Add(Format('stream %d: %s', [AStreamId, AData]));
    end;
  vQUIC.Active := True;
end;
uses
  sgcHTTP3_Server;

procedure TForm1.FormCreate(Sender: TObject);
begin
  FServer := TsgcHTTP3Server.Create(nil);
  FServer.Port := 443;
  FServer.QUICOptions.SSLOptions.CertFile := 'server.crt';
  FServer.QUICOptions.SSLOptions.KeyFile  := 'server.key';

  // One handler for every incoming HTTP/3 request
  FServer.OnH3Request :=
    procedure(const Ctx: TsgcHTTP3Context)
    begin
      if Ctx.Path = '/pets/42' then
        Ctx.RespondJSON(200, '{"name":"Rex"}')
      else
        Ctx.Respond(404, 'Not found');
    end;

  FServer.Active := True;
end;
  1. Tek port, tek sertifika, iki protokolTsgcHTTP3Server, bir UDP portunda QUIC üzerinden HTTP/3 konuşur. Mevcut bir HTTP/2 sunucusuyla eşleştirin; eski istemciler HTTP/2 sunucunuzun zaten yüklediği aynı sertifikayla TCP üzerinden çalışmaya devam eder.
  2. Alt-Svc, böylece yükseltmeler otomatiktirNormal bir HTTP/2 yanıtı Alt-Svc: h3=":443" başlığını taşır. Bunu anlayan istemciler, yönlendirme veya ikinci bir alan adı olmadan sonraki istekte QUIC açar.
  3. WebTransport, aynı bağlantı noktasındaBir Extended CONNECT isteği, bir akışı WebTransport'a yükseltir ve bir tarayıcı istemcisine, sıradan HTTP/3 isteklerinin yanında çift yönlü akışlar ve datagramlar sağlar.

İstemci ve sunucu, her iki tarafta da aynı bağlantı, akış ve datagram modelini paylaşır. Tam özellik matrisi →

HTTP/3 sunucu bileşeni

sgcWebSockets'in parçası

sgcWebSockets Enterprise için bir eklenti.

Lisans, destek kanalı ve güncelleme sıklığı zaten sahip olduklarınızdır. Her lisans tam kaynak kodunu, bir yıllık güncellemeyi ve telifsiz dağıtımı içerir.

Single

1 geliştirici lisansı. Aynı anda tek bir makinede kullanın.

€149

Team

2 geliştirici lisansı. Aynı anda iki makinede kullanın.

€249

Site

Sınırsız geliştirici. Tüm şirket makineleri.

€399

sgcQUIC için, aynı siparişe ekleyebileceğiniz sgcWebSockets Enterprise gerekir. Delphi, C++ Builder ve .NET için QUIC istemcisi ve sunucusu, HTTP/3 istemcisi ve sunucusu, QPACK, Alt-Svc ve WebTransport.

Fiyatlandırmayı ve sürümleri görüntüleyin
Referanslar

Geliştiriciler Ne Diyor

Dünya çapında Delphi, C++ Builder, Lazarus ve .NET geliştiricilerinin güvendiği.

sgcWebSockets kütüphaneniz çok kullanışlı ve kurulumu kolay. İyi çalışmalarınızı sürdürün!
Simone Moretti Delphi Geliştiricisi
sgcWebSockets harika ve desteğiniz en iyisi!
Christian Meyer Kurucu ve CTO
Yardımınız ve desteğiniz için çok teşekkürler, bileşenlerinize bayılıyorum.
Mark Steinfeld CTO

IDE'nizden çıkmadan QUIC ve HTTP/3 yayınlayın.

Ham QUIC taşıması, HTTP/3 istemcisi ve sunucusu ve WebTransport, OpenSSL 3.5 QUIC motoru üzerinde. Tam kaynak, telifsiz dağıtım, sgcWebSockets Enterprise'a bir eklenti olarak.

eSeGeCe'den daha fazlası

eSeGeCe'nin Diğer Ürünleri

sgcQUIC, Delphi, C++ Builder ve .NET için diğer eSeGeCe bileşen kütüphaneleriyle aynı kuralları paylaşır. Tam kaynak koduyla gelir ve telifsiz dağıtılır.

sgcWebSockets

WebSocket, HTTP/2, MQTT, AMQP, WebRTC, yapay zeka ve 30+ API entegrasyonu. sgcQUIC'in üzerine kurulduğu Enterprise lisansı.

sgcHTML

Bootstrap 5 ve htmx üzerinde sunucu taraflı HTML ve arayüz bileşenleri. Oluşturulan arayüzü aynı HTTP/3 taşıması üzerinden sunun.

sgcAI

Delphi ve C++ Builder için yapay zeka, LLM ve MCP bileşenleri. Tek bir bileşenin arkasında yedi LLM sağlayıcısı, ayrıca MCP, embeddings ve konuşma. Bağımsız ürün, sgcWebSockets Core çalışma zamanı pakete dahildir.

sgcMQ

Delphi ve C++ Builder için MQTT, AMQP 0.9.1 ve 1.0, Apache Kafka ve STOMP istemci bileşenleri. Bağımsız ürün, sgcWebSockets Core çalışma zamanı pakete dahildir.

sgcAuth

Delphi ve C++ Builder için OAuth2 istemcisi, JWT istemcisi ve WebAuthn desteği. Bağımsız çalışır, sgcWebSockets Core çalışma zamanı dahildir.

sgcHTTP

Delphi ve C++ Builder için HTTP sunucusu, HTTP/2 istemcisi, gRPC istemcisi ve Google Cloud Pub/Sub, Calendar ve FCM istemcileri. Bağımsız ürün, sgcWebSockets Core çalışma zamanı pakete dahildir.

sgcREST

Delphi ve C++ Builder için REST sunucusu, OpenAPI sunucusu ve OpenAPI istemci bileşenleri. Bağımsız çalışır, sgcWebSockets Core çalışma zamanı dahildir.

sgcOpenAPI

OpenAPI 3.x ayrıştırıcısı, yerel Pascal SDK üreticisi, OpenAPI sunucu bileşeni ve 1.195+ önceden oluşturulmuş bulut SDK'si.

sgcSign

Belgeler için XAdES, PAdES, CAdES ve ASiC; kod için Authenticode, ClickOnce, NuGet ve VSIX.

sgcPDF

PDF dosyalarını saf Object Pascal ile oluşturma, düzenleme, görüntüleme, imzalama, sansürleme ve doğrulama; dağıtılacak DLL yok. Ayrı olarak lisanslanır.

sgcBiometrics

Delphi ve C++ Builder için Windows Hello, parmak izi sensörleri ve Windows Biometric Framework.

sgcIndy

Delphi 7'den 13'e modern TLS, IPv6 ve HTTP/2 ile güncellenmiş Indy TCP/IP bileşenleri.

Blogdan Son Yazılar

Tüm yazıları görüntüleyin →

eSeGeCe'nin sgcQUIC görünümünü görüyorsunuz.

Bana başka bir açı gösterin →
30 Günlük Para İade GarantisiMemnun kalmadınız mı? Satın alımdan sonraki 30 gün içinde tam para iadesi talep edin. İade politikasına bakın