TsgcHTTPServer › Eigenschaften

TsgcHTTPServer Eigenschaften

Veröffentlichte Eigenschaften, nach Zweck gruppiert, gefolgt von der vollständigen alphabetischen Liste.

Connection

NameBeschreibung
ActiveStartet oder stoppt den HTTP-Server und öffnet die Listening-Sockets auf den konfigurierten Bindings.
PortTCP-Port, an dem der Server eingehende HTTP-Verbindungen akzeptiert.
BindingsSammlung von IP/Port-Paaren, auf denen der Server lauscht; verwenden Sie sie, um mehrere Endpunkte gleichzeitig zu binden.
MaxConnectionsMaximale Anzahl gleichzeitiger Client-Verbindungen, die vom Server akzeptiert werden.
KeepAliveHält die HTTP-Verbindung offen, nachdem eine Antwort gesendet wurde, sodass nachfolgende Anfragen sie wiederverwenden können.

HTTP

NameBeschreibung
CharsetZeichensatz, der auf Textantworten angewendet wird, die von DocumentRoot bereitgestellt werden.
DocumentRootVerzeichnis, das vom HTTP-Server für statische Dateien (HTML, JavaScript, CSS, Bilder usw.) bereitgestellt wird.
HTTP2OptionsAktiviert und stimmt den HTTP/2-Protokoll-Handler ab, der zur Bedienung von HTTPS-Anfragen verwendet wird.
HTTP3OptionsAktiviert den HTTP/3-Listener (QUIC), der HTTP-Anfragen neben HTTP/1.1 und HTTP/2 über UDP bedient.
HTTPCompressionKomprimiert HTTP/1.1-Antworten mit gzip oder deflate, wenn der Client Unterstützung dafür ankündigt.
HTTPUploadFilesSteuert, wie über HTTP POST hochgeladene Dateien gepuffert werden (Speicher- oder Datei-Stream) und auf der Festplatte gespeichert werden.
ParseParamsParst den Query-String und den form-urlencoded-Body jeder Anfrage in ARequestInfo.Params.

Sitzungen

NameBeschreibung
AutoStartSessionErstellt automatisch eine neue HTTP-Sitzung für jede eingehende Anfrage, wenn der Sitzungsstatus aktiviert ist.
SessionClassKlasse, die der Server zum Erstellen neuer HTTP-Sitzungen verwendet; setzen Sie sie auf Ihre eigene TIdHTTPSession-Abkömmlingsklasse.
SessionListListe, die die aktiven HTTP-Sitzungen enthält; lesen Sie sie, um Sitzungen per Code zu verwalten, oder weisen Sie eine eigene Liste zu.
SessionStateAktiviert cookie-basiertes HTTP-Session-Tracking über das zustandslose HTTP-Protokoll hinaus.
SessionTimeOutLeerlauf-Timeout in Millisekunden, nach dem eine HTTP-Sitzung als abgelaufen und zur Entfernung berechtigt gilt.

Sicherheit

NameBeschreibung
AuthenticationAktiviert und konfiguriert die Benutzer-/Passwort-Authentifizierung für eingehende HTTP-Verbindungen.
SSLAktiviert TLS/SSL auf dem Server, sodass Clients über https:// eine Verbindung herstellen können.
SSLOptionsHält Zertifikatspfade, TLS-Versionsauswahl und OpenSSL-Tuning für den TLS-Listener.
SecurityOptionsHandshake-Zulassungsregeln, die von der gemeinsamen Server-Engine geerbt wurden; auf diese Komponente nicht anwendbar (siehe Hinweise).
MaxRequestBodySizeMaximale Größe eines eingehenden HTTP-Anfrage-Bodys in Bytes; schützt den Server vor Speichererschöpfungsangriffen.
StrictRequestParsingWeist mehrdeutige HTTP-Anfragen ab, die bei Request-Smuggling-Angriffen verwendet werden, und wendet eine strengere Validierung der Chunked-Codierung an.
APIKeyManagerOptionale API-Schlüssel-Manager-Komponente, die verwendet wird, um eingehende API-Schlüssel zu validieren, bevor eine Verbindung akzeptiert wird.

Zuverlässigkeit

NameBeschreibung
WatchDogStartet den Server nach einem unerwarteten Herunterfahren oder einem Listener-Fehler automatisch neu.
FallBackVon der gemeinsamen Server-Engine geerbt; auf diese Komponente nicht anwendbar (siehe Hinweise).
RateLimiterWeist eine Rate-Limiter-Komponente zu, die die Anfrageraten pro Client oder pro IP begrenzt.
FirewallWeist eine Firewall-Komponente zu, die eingehende Verbindungen nach IP, Region oder benutzerdefinierten Regeln filtert.

Erweitert

NameBeschreibung
OptionsBündelt verschiedene Server-Verhaltensflags: Timeouts, integrierte Testseiten und den HTTP-Server-Header.
IOHandlerOptionsWählt die I/O-Strategie aus, die zum Bedienen von Verbindungen verwendet wird: Thread-pro-Verbindung, IOCP oder EPOLL.
ThreadPoolAktiviert einen Thread-Pool, der Worker-Threads wiederverwendet, anstatt sie beim Schließen von Verbindungen zu zerstören.
ThreadPoolOptionsKonfiguriert die Größe und Obergrenze des wiederverwendbaren Thread-Pools, der verwendet wird, wenn ThreadPool aktiviert ist.
ThrottleBegrenzt die Bandbreite (Bit pro Sekunde), die der Server von jeder Verbindung liest oder in sie schreibt.

Diagnose

NameBeschreibung
LogFileSchreibt jede eingehende und ausgehende HTTP-Anfrage/-Antwort zu Debugging- und Auditing-Zwecken in eine Protokolldatei.
NotifyEventsSteuert, wie threadbasierte Serverereignisse mit dem Haupt-VCL-Thread synchronisiert werden.
VersionSchreibgeschützte Zeichenkette mit der in der Binärdatei eingebetteten Version der sgcWebSockets-Bibliothek.

Alle Eigenschaften (alphabetisch)

NameBeschreibung
ActiveStartet oder stoppt den HTTP-Server und öffnet die Listening-Sockets auf den konfigurierten Bindings.
APIKeyManagerOptionale API-Schlüssel-Manager-Komponente, die verwendet wird, um eingehende API-Schlüssel zu validieren, bevor eine Verbindung akzeptiert wird.
AuthenticationAktiviert und konfiguriert die Benutzer-/Passwort-Authentifizierung für eingehende HTTP-Verbindungen.
AutoStartSessionErstellt automatisch eine neue HTTP-Sitzung für jede eingehende Anfrage, wenn der Sitzungsstatus aktiviert ist.
BindingsSammlung von IP/Port-Paaren, auf denen der Server lauscht; verwenden Sie sie, um mehrere Endpunkte gleichzeitig zu binden.
CharsetZeichensatz, der auf Textantworten angewendet wird, die von DocumentRoot bereitgestellt werden.
DocumentRootVerzeichnis, das vom HTTP-Server für statische Dateien (HTML, JavaScript, CSS, Bilder usw.) bereitgestellt wird.
FallBackVon der gemeinsamen Server-Engine geerbt; auf diese Komponente nicht anwendbar (siehe Hinweise).
FirewallWeist eine Firewall-Komponente zu, die eingehende Verbindungen nach IP, Region oder benutzerdefinierten Regeln filtert.
HTTP2OptionsAktiviert und stimmt den HTTP/2-Protokoll-Handler ab, der zur Bedienung von HTTPS-Anfragen verwendet wird.
HTTP3OptionsAktiviert den HTTP/3-Listener (QUIC), der HTTP-Anfragen neben HTTP/1.1 und HTTP/2 über UDP bedient.
HTTPCompressionKomprimiert HTTP/1.1-Antworten mit gzip oder deflate, wenn der Client Unterstützung dafür ankündigt.
HTTPUploadFilesSteuert, wie über HTTP POST hochgeladene Dateien gepuffert werden (Speicher- oder Datei-Stream) und auf der Festplatte gespeichert werden.
IOHandlerOptionsWählt die I/O-Strategie aus, die zum Bedienen von Verbindungen verwendet wird: Thread-pro-Verbindung, IOCP oder EPOLL.
KeepAliveHält die HTTP-Verbindung offen, nachdem eine Antwort gesendet wurde, sodass nachfolgende Anfragen sie wiederverwenden können.
LogFileSchreibt jede eingehende und ausgehende HTTP-Anfrage/-Antwort zu Debugging- und Auditing-Zwecken in eine Protokolldatei.
MaxConnectionsMaximale Anzahl gleichzeitiger Client-Verbindungen, die vom Server akzeptiert werden.
MaxRequestBodySizeMaximale Größe eines eingehenden HTTP-Anfrage-Bodys in Bytes; schützt den Server vor Speichererschöpfungsangriffen.
NotifyEventsSteuert, wie threadbasierte Serverereignisse mit dem Haupt-VCL-Thread synchronisiert werden.
OptionsBündelt verschiedene Server-Verhaltensflags: Timeouts, integrierte Testseiten und den HTTP-Server-Header.
ParseParamsParst den Query-String und den form-urlencoded-Body jeder Anfrage in ARequestInfo.Params.
PortTCP-Port, an dem der Server eingehende HTTP-Verbindungen akzeptiert.
RateLimiterWeist eine Rate-Limiter-Komponente zu, die die Anfrageraten pro Client oder pro IP begrenzt.
SecurityOptionsHandshake-Zulassungsregeln, die von der gemeinsamen Server-Engine geerbt wurden; auf diese Komponente nicht anwendbar (siehe Hinweise).
SessionClassKlasse, die der Server zum Erstellen neuer HTTP-Sitzungen verwendet; setzen Sie sie auf Ihre eigene TIdHTTPSession-Abkömmlingsklasse.
SessionListListe, die die aktiven HTTP-Sitzungen enthält; lesen Sie sie, um Sitzungen per Code zu verwalten, oder weisen Sie eine eigene Liste zu.
SessionStateAktiviert cookie-basiertes HTTP-Session-Tracking über das zustandslose HTTP-Protokoll hinaus.
SessionTimeOutLeerlauf-Timeout in Millisekunden, nach dem eine HTTP-Sitzung als abgelaufen und zur Entfernung berechtigt gilt.
SSLAktiviert TLS/SSL auf dem Server, sodass Clients über https:// eine Verbindung herstellen können.
SSLOptionsHält Zertifikatspfade, TLS-Versionsauswahl und OpenSSL-Tuning für den TLS-Listener.
StrictRequestParsingWeist mehrdeutige HTTP-Anfragen ab, die bei Request-Smuggling-Angriffen verwendet werden, und wendet eine strengere Validierung der Chunked-Codierung an.
ThreadPoolAktiviert einen Thread-Pool, der Worker-Threads wiederverwendet, anstatt sie beim Schließen von Verbindungen zu zerstören.
ThreadPoolOptionsKonfiguriert die Größe und Obergrenze des wiederverwendbaren Thread-Pools, der verwendet wird, wenn ThreadPool aktiviert ist.
ThrottleBegrenzt die Bandbreite (Bit pro Sekunde), die der Server von jeder Verbindung liest oder in sie schreibt.
VersionSchreibgeschützte Zeichenkette mit der in der Binärdatei eingebetteten Version der sgcWebSockets-Bibliothek.
WatchDogStartet den Server nach einem unerwarteten Herunterfahren oder einem Listener-Fehler automatisch neu.