TsgcWebSocketHTTPServerPropriétés › HTTPCompression

HTTPCompression Propriété

Compresse les réponses HTTP/1.1 avec gzip ou deflate lorsque le client annonce la prise en charge, à la fois pour les fichiers statiques DocumentRoot et les réponses dynamiques OnCommandGet.

Syntaxe

property HTTPCompression: TsgcHTTPCompression_Options read FHTTPCompression write SetHTTPCompression;

Valeur par défaut

Enabled=False

Remarques

Par défaut, le serveur envoie chaque réponse HTTP/1.1 non compressée. Définissez HTTPCompression.Enabled sur True pour compresser les réponses éligibles avec gzip ou deflate chaque fois que l'en-tête de requête Accept-Encoding du client l'autorise. Level est le niveau de compression de 0 à 9 (par défaut 6). MinSize évite de compresser les réponses plus petites que ce nombre d'octets (par défaut 1 024), car compresser un corps minuscule rentabilise rarement le coût processeur. Algorithms est l'ensemble des encodages que le serveur peut utiliser (par défaut à la fois caGZip et caDeflate ; gzip est préféré lorsque le client accepte les deux). ContentTypes liste quels types de contenu de réponse sont éligibles, les caractères génériques tels que text/* sont pris en charge, et il inclut par défaut les types courants text, JSON, JavaScript, XML et SVG.

Le serveur ne compresse jamais une réponse qui possède déjà un en-tête Content-Encoding, un code d'état 204/304/1xx, ou un type de contenu text/event-stream (Server-Sent Events), et il ignore la compression lorsque le résultat compressé ne serait pas réellement plus petit. Lorsqu'il compresse une réponse, il définit Content-Encoding et ajoute un en-tête Vary: Accept-Encoding. Cette propriété ne couvre que les réponses HTTP/1.1 ; les réponses HTTP/2 ne sont pas concernées. Consultez HTTP Compression pour une explication complète et pour comprendre en quoi cela diffère de la compression des messages WebSocket.

Exemple


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

Retour aux propriétés