TsgcHTTPServer › Proprietà › HTTPCompression

HTTPCompression Proprietà

Comprime le risposte HTTP/1.1 con gzip o deflate quando il client dichiara di supportarli, sia per i file statici di DocumentRoot sia per le risposte dinamiche di OnCommandGet.

Sintassi

property HTTPCompression: TsgcHTTPCompression_Options read FHTTPCompression write SetHTTPCompression;

Valore predefinito

Enabled=False

Note

Per impostazione predefinita il server invia ogni risposta HTTP/1.1 non compressa. Impostare HTTPCompression.Enabled su True per comprimere le risposte idonee con gzip o deflate ogni volta che l'intestazione di richiesta Accept-Encoding del client lo consente. Level è il livello di compressione da 0 a 9 (predefinito 6). MinSize evita di comprimere le risposte più piccole di questo numero di byte (predefinito 1.024), poiché comprimere un corpo minuscolo raramente ripaga il costo della CPU. Algorithms è l'insieme delle codifiche che il server può utilizzare (predefinito sia caGZip che caDeflate; gzip è preferito quando il client accetta entrambi). ContentTypes elenca quali tipi di contenuto della risposta sono idonei, sono supportati caratteri jolly come text/*, e per impostazione predefinita include i tipi comuni di testo, JSON, JavaScript, XML e SVG.

Il server non comprime mai una risposta che ha già un'intestazione Content-Encoding, un codice di stato 204/304/1xx, o un tipo di contenuto text/event-stream (Server-Sent Events), e salta la compressione quando il risultato compresso non sarebbe effettivamente più piccolo. Quando comprime una risposta imposta Content-Encoding e aggiunge un'intestazione Vary: Accept-Encoding. Questa proprietà copre solo le risposte HTTP/1.1; le risposte HTTP/2 non sono interessate. Vedere HTTP Compression per una spiegazione completa.

Esempio


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

Torna alle Proprietà