TsgcHTTP3Client › Methoden

TsgcHTTP3Client Methoden

Öffentliche Methoden, gruppiert nach Zweck, gefolgt von der vollständigen alphabetischen Liste.

HTTP-Verben

Der Client implementiert die zehn nachfolgenden HTTP-Methoden. Die Liste ist vollständig: Es ist die Aufzählung Th3Methods, die die Komponente in den Pseudo-Header :method jeder Anfrage kodiert.

VerbSynchronAsynchronStream-ÜberladungStandard aContentTypeTypische Verwendung
GETGetGetAsyncGet(aURL, aResponseContent)—Ruft eine Ressource ab. Kein Request-Body.
POSTPostPostAsyncPost(aURL, aSource, aResponseContent)application/x-www-form-urlencodedDaten übermitteln, typischerweise um einen Datensatz zu erstellen oder eine Aktion auszulösen.
PUTPutPutAsyncPut(aURL, aSource, aResponseContent)application/jsonErsetzt die Zielressource. Idempotent.
DELETEDeleteDeleteAsyncDelete(aURL, aResponseContent)—Entfernt die Zielressource. Kein Anfrage-Body.
HEADHead———Liest nur Status und Header, keinen Body. Gibt TsgcHTTP3Response zurück.
PATCHPatchPatchAsyncPatch(aURL, aSource, aResponseContent)application/jsonWendet eine partielle Aktualisierung auf die Zielressource an.
OPTIONSRequestOptionsOptionsAsyncRequestOptions(aURL, aResponseContent)—Prüfen Sie die Methoden und Fähigkeiten, die eine Ressource unterstützt.
TRACETraceTraceAsyncTrace(aURL, aResponseContent)—Loop-back-Diagnose. Von Servern häufig deaktiviert.
CONNECTConnectConnectAsync——Fordert einen Tunnel an. Siehe ExtendedConnect für einen Tunnel, der geöffnet bleibt.
QUERYQueryQueryAsyncQuery(aURL, aSource, aResponseContent)application/x-www-form-urlencodedSichere, idempotente Anfrage, die einen Body mitführt. Eignet sich für Such- und Filter-Payloads.

Jedes der obigen Verben ist über eine synchrone Methode erreichbar, die blockiert und den Antworttext als Zeichenfolge zurückgibt, sowie (außer HEAD) über eine asynchrone Methode, die sofort zurückkehrt und die Antwort über OnResponse liefert.

Zwei Benennungen sind erwähnenswert. OPTIONS wird von der Methode mit dem Namen RequestOptions gesendet, weil Options mit einem bestehenden Bezeichner in Delphi und C++Builder kollidiert; ihr asynchrones Gegenstück behält den Protokollnamen und heißt OptionsAsync. CONNECT wird von der Überladung Connect(aURL) gesendet, die eine andere Methode ist als die Überladung Connect(aHost, aPort), welche die QUIC-Verbindung öffnet. Beide befinden sich auf der Seite Connect.

HEAD ist die Ausnahme von diesem Muster: Es gibt ein TsgcHTTP3Response anstelle einer Zeichenfolge zurück und besitzt weder eine asynchrone Variante noch eine Stream-Überladung.

Jedes Verb außer HEAD und CONNECT verfügt außerdem über eine Stream-Überladung, die den Antworttext in einen TStream schreibt, anstatt eine Zeichenfolge aufzubauen, und bei Verben mit Body den Anfragetext aus einem Quell-Stream liest. Verwenden Sie sie für binäre oder große Payloads. Die Stream-Überladungen senden immer content-type: application/octet-stream und akzeptieren keinen aContentType-Parameter, verwenden Sie daher die String-Überladung, wenn der Medientyp wichtig ist.

Die Spalte mit dem Standardwert für aContentType führt den Wert auf, den die String-Überladung verwendet, wenn der Parameter weggelassen wird. Übergeben Sie ihn explizit, wenn der Server etwas anderes erwartet, zum Beispiel application/json bei einem Post.

Connection

NameBeschreibung
ConnectÖffnet die QUIC-Verbindung und führt den TLS-1.3- und HTTP/3-Handshake durch. Die URL-Überladung sendet das CONNECT-Verb.
DisconnectSchließt die HTTP/3-Verbindung und den zugrunde liegenden QUIC-Transport.
ConnectedGibt True zurück, wenn die HTTP/3-Verbindung derzeit offen ist.

Server Push

NameBeschreibung
SetMaxPushIdSendet einen MAX_PUSH_ID-Frame, der die höchste vom Client akzeptierte Push-ID anhebt. Server-Push ist deaktiviert, bis diese Methode aufgerufen wird.
CancelPushSendet einen CANCEL_PUSH-Frame, der einen zugesagten Push anhand seiner Push-ID ablehnt.

Extended CONNECT und WebTransport

NameBeschreibung
ExtendedConnectFührt einen Extended-CONNECT-Handshake (RFC 9220) durch und hält den Anfrage-Stream als Tunnel offen.
TunnelSendSendet rohe Bytes als DATA-Frame auf einem offenen Tunnel.
TunnelPumpTreibt die QUIC-Ereignisschleife an, sodass Tunneldaten gelesen und über OnTunnelData zugestellt werden.
ServerSupportsWebTransportGibt True zurück, wenn die SETTINGS des Servers WebTransport-Unterstützung angekündigt haben.
WebTransportConnectStellt eine WebTransport-Sitzung über eine Extended-CONNECT-Anfrage her.
WebTransportProcessEventsPumpt die QUIC-Verbindung einmal, damit vom Peer geöffnete WebTransport-Streams erfasst werden.

Diagnose

NameBeschreibung
QPACKDynamicInsertsGibt zurück, wie viele QPACK-Einfügungen in die dynamische Tabelle der Anfrage-Encoder durchgeführt hat.
BlockedThenResumedCountGibt zurück, wie viele Antwort-Header-Abschnitte durch QPACK-Einfügungen blockiert und später fortgesetzt wurden.

Alle Methoden (alphabetisch)

NameBeschreibung
BlockedThenResumedCountGibt zurück, wie viele Antwort-Header-Abschnitte durch QPACK-Einfügungen blockiert und später fortgesetzt wurden.
CancelPushSendet einen CANCEL_PUSH-Frame, der einen zugesagten Push anhand seiner Push-ID ablehnt.
ConnectÖffnet die QUIC-Verbindung oder sendet aus der URL-Überladung das HTTP/3-Verb CONNECT.
ConnectAsyncSendet einen nicht-blockierenden CONNECT; die Antwort trifft über OnResponse ein.
ConnectedGibt True zurück, wenn die HTTP/3-Verbindung derzeit offen ist.
DeleteSendet eine synchrone HTTP/3-DELETE-Anfrage, um die Zielressource zu entfernen.
DeleteAsyncSendet ein nicht-blockierendes DELETE; die Antwort trifft über OnResponse ein.
DisconnectSchließt die HTTP/3-Verbindung und den zugrunde liegenden QUIC-Transport.
ExtendedConnectFührt einen Extended-CONNECT-Handshake (RFC 9220) durch und hält den Anfrage-Stream als Tunnel offen.
GetSendet eine synchrone HTTP/3-GET-Anfrage und gibt den Body als Zeichenfolge zurück oder schreibt ihn in einen Stream.
GetAsyncSendet eine nicht-blockierende GET-Anfrage; die Antwort trifft über OnResponse ein.
HeadSendet eine synchrone HTTP/3-HEAD-Anfrage und gibt das Antwortobjekt mit dem Status und den Headern zurück.
OptionsAsyncSendet eine nicht-blockierende OPTIONS-Anfrage; die Antwort trifft über OnResponse ein.
PatchSendet eine synchrone HTTP/3-PATCH-Anfrage mit einer Payload zur teilweisen Aktualisierung.
PatchAsyncSendet einen nicht-blockierenden PATCH; die Antwort trifft über OnResponse ein.
PostSendet eine synchrone HTTP/3-POST-Anfrage mit einem Anfrage-Body.
PostAsyncSendet einen nicht-blockierenden POST; die Antwort trifft über OnResponse ein.
PutSendet eine synchrone HTTP/3-PUT-Anfrage mit einem Anfrage-Body.
PutAsyncSendet ein nicht-blockierendes PUT; die Antwort trifft über OnResponse ein.
QPACKDynamicInsertsGibt zurück, wie viele QPACK-Einfügungen in die dynamische Tabelle der Anfrage-Encoder durchgeführt hat.
QuerySendet eine synchrone HTTP/3-QUERY-Anfrage, ein sicheres und idempotentes Verb, das einen Body überträgt.
QueryAsyncSendet ein nicht-blockierendes QUERY; die Antwort trifft über OnResponse ein.
RequestOptionsSendet eine synchrone HTTP/3-OPTIONS-Anfrage, um die Optionen einer Ressource zu inspizieren.
ServerSupportsWebTransportGibt True zurück, wenn die SETTINGS des Servers WebTransport-Unterstützung angekündigt haben.
SetMaxPushIdSendet einen MAX_PUSH_ID-Frame, der die höchste Push-ID anhebt, die der Client akzeptiert.
TraceSendet eine synchrone HTTP/3-TRACE-Anfrage, die als Loop-Back-Test dient.
TraceAsyncSendet einen nicht-blockierenden TRACE; die Antwort trifft über OnResponse ein.
TunnelPumpTreibt die QUIC-Ereignisschleife an, sodass Tunneldaten gelesen und über OnTunnelData zugestellt werden.
TunnelSendSendet rohe Bytes als DATA-Frame über einen offenen Extended-CONNECT-Tunnel.
WebTransportConnectStellt eine WebTransport-Sitzung über eine Extended-CONNECT-Anfrage her.
WebTransportProcessEventsPumpt die QUIC-Verbindung einmal, damit vom Peer geöffnete WebTransport-Streams erfasst werden.