TsgcWebSocketHTTPServerEigenschaften › HTTPCompression

HTTPCompression Eigenschaft

Komprimiert HTTP/1.1-Antworten mit gzip oder deflate, wenn der Client Unterstützung dafür signalisiert, sowohl für statische DocumentRoot-Dateien als auch für dynamische OnCommandGet-Antworten.

Syntax

property HTTPCompression: TsgcHTTPCompression_Options read FHTTPCompression write SetHTTPCompression;

Standardwert

Enabled=False

Hinweise

Standardmäßig sendet der Server jede HTTP/1.1-Antwort unkomprimiert. Setzen Sie HTTPCompression.Enabled auf True, um geeignete Antworten mit gzip oder deflate zu komprimieren, sofern der Accept-Encoding-Anfrage-Header des Clients dies erlaubt. Level ist die Kompressionsstufe von 0 bis 9 (Standard 6). MinSize überspringt die Komprimierung von Antworten, die kleiner als diese Byte-Anzahl sind (Standard 1.024), da sich die Komprimierung eines winzigen Bodys selten für die CPU-Kosten lohnt. Algorithms ist die Menge der Kodierungen, die der Server verwenden darf (Standard sowohl caGZip als auch caDeflate; gzip wird bevorzugt, wenn der Client beide akzeptiert). ContentTypes listet auf, welche Antwort-Content-Types infrage kommen, Platzhalter wie text/* werden unterstützt, und standardmäßig sind die gängigen Text-, JSON-, JavaScript-, XML- und SVG-Typen enthalten.

Der Server komprimiert niemals eine Antwort, die bereits einen Content-Encoding-Header, einen 204/304/1xx-Statuscode oder einen text/event-stream-Content-Type (Server-Sent Events) hat, und er überspringt die Komprimierung, wenn das komprimierte Ergebnis nicht tatsächlich kleiner wäre. Wenn er eine Antwort komprimiert, setzt er Content-Encoding und fügt einen Vary: Accept-Encoding-Header hinzu. Diese Eigenschaft betrifft nur HTTP/1.1-Antworten; HTTP/2-Antworten sind nicht betroffen. Siehe HTTP-Komprimierung für eine vollständige Erklärung und wie sie sich von der WebSocket-Nachrichtenkomprimierung unterscheidet.

Beispiel


oServer := TsgcWebSocketHTTPServer.Create(nil);
oServer.DocumentRoot := 'C:\inetpub\wwwroot';
oServer.HTTPCompression.Enabled := true;
oServer.HTTPCompression.MinSize := 1024;
oServer.Active := true;

Zurück zu Properties