HTTP/2 Client

Natywny komponent klienta HTTP/2 dla Delphi/C++Builder. Multipleksowane strumienie, kompresja nagłówków (HPACK), TLS przez OpenSSL lub Windows SChannel i pełne ramkowanie RFC 9113.

TsgcHTTP2Client

Natywny klient HTTP/2 — multipleksowane strumienie przez jedno połączenie TLS, kompresja nagłówków HPACK, prior knowledge lub upgrade ALPN, bez zależności od IIS / Apache / Indy.

Klasa komponentu

TsgcHTTP2Client

Protokół

HTTP/2 (RFC 9113)

Platformy

Windows, macOS, Linux, iOS, Android

Edycja

Standard / Professional / Enterprise

Upuść komponent, wywołaj GET / POST

Upuść TsgcHTTP2Client na formularz, wybierz IOHandler (OpenSSL lub SChannel), następnie wywołaj Get / Post / Put / Delete z docelowym URL.

uses
  sgcHTTP, sgcHTTP2;

var
  HTTP2: TsgcHTTP2Client;
begin
  HTTP2 := TsgcHTTP2Client.Create(nil);
  HTTP2.TLSOptions.IOHandler := iohSChannel; // or iohOpenSSL

  // Add custom headers
  HTTP2.Request.CustomHeaders.Add('authorization: Bearer eyJ...');

  // GET
  Memo1.Text := HTTP2.Get('https://api.example.com/v1/items');
  ShowMessage(IntToStr(HTTP2.Response.Status));
end;
// uses: sgcHTTP, sgcHTTP2
TsgcHTTP2Client *HTTP2 = new TsgcHTTP2Client(this);
HTTP2->TLSOptions->IOHandler = iohSChannel;

HTTP2->Request->CustomHeaders->Add("authorization: Bearer eyJ...");

Memo1->Text = HTTP2->Get("https://api.example.com/v1/items");

Co jest w środku

Pełnoprawny klient HTTP/2 zbudowany na silniku ramkowania sgcQUIC / sgcHTTP2 — bez IIS / Apache / Indy.

Multipleksowanie strumieni

Wiele wywołań GET / POST / PUT / DELETE współdzieli jedno połączenie TLS. OnHTTP2StreamData ujawnia obietnice server-push i zdarzenia dla każdego strumienia.

Kompresja nagłówków HPACK

Wbudowany koder/dekoder HPACK — CustomHeaders są kompresowane względem tabeli dynamicznej dla każdego żądania. Ciasteczka i nagłówki auth są wielokrotnie używane między strumieniami.

Wybór TLS

Ustaw TLSOptions.IOHandler na iohSChannel (Windows kernel TLS, bez DLL) lub iohOpenSSL (wieloplatformowy). Negocjacja ALPN h2 odbywa się podczas handshake.

Prior knowledge

Dla h2c (HTTP/2 przez plaintext) ustaw Specifications.HTTP2_PriorKnowledge — przydatne dla sidecarów service mesh i zaufanych połączeń wewnętrznych.

Bearer / basic / NTLM

Authentication.Token, Authentication.Basic i Authentication.NTLM obsługują popularne schematy. Połącz z TsgcHTTP_JWT_Client, aby tworzyć i odświeżać JWT.

Gotowy na Apple Push i FCM

Ten sam komponent obsługuje punkt końcowy HTTP/2 Apple Push Notification i Firebase Cloud Messaging V1 — szczegóły typowanego podłączenia znajdziesz na odpowiednich stronach.

Specyfikacje i źródła

Autorytatywne źródła dla protokołu implementowanego przez ten komponent.

Dokumentacja i wersje demo

Deep-link do dokumentacji komponentu, gotowy do uruchomienia projekt demonstracyjny i pobranie wersji próbnej.

Online Help — TsgcHTTP2Client Pełna dokumentacja właściwości, metod i zdarzeń tego komponentu.
Projekt demonstracyjny — Demos\20.HTTP_Protocol\01.HTTP2_Server_And_Client Gotowy do uruchomienia projekt przykładowy. Dostarczany wewnątrz pakietu sgcWebSockets — pobierz wersję próbną poniżej.
Dokument techniczny (PDF) Funkcje, szybki start, przykłady kodu dla Delphi i C++ Builder oraz odniesienia do źródeł pierwotnych — tylko ten komponent.
Podręcznik użytkownika (PDF) Kompleksowy podręcznik obejmujący każdy komponent biblioteki.

Gotowy, aby wdrożyć HTTP/2 w Delphi?

Pobierz bezpłatną wersję próbną i dodaj multipleksowany ruch HTTP/2 do swoich aplikacji Delphi.