TsgcWebSocketHTTPServerPropiedades › HTTPCompression

HTTPCompression Propiedad

Comprime las respuestas HTTP/1.1 con gzip o deflate cuando el cliente anuncia que lo admite, tanto para los archivos estáticos de DocumentRoot como para las respuestas dinámicas de OnCommandGet.

Sintaxis

property HTTPCompression: TsgcHTTPCompression_Options read FHTTPCompression write SetHTTPCompression;

Valor Predeterminado

Enabled=False

Observaciones

Por defecto el servidor envía todas las respuestas HTTP/1.1 sin comprimir. Ponga HTTPCompression.Enabled a True para comprimir con gzip o deflate las respuestas elegibles siempre que la cabecera de petición Accept-Encoding del cliente lo permita. Level es el nivel de compresión de 0 a 9 (por defecto 6). MinSize evita comprimir las respuestas menores que ese número de bytes (por defecto 1.024), ya que comprimir un cuerpo diminuto rara vez compensa el coste de CPU. Algorithms es el conjunto de codificaciones que el servidor puede usar (por defecto tanto caGZip como caDeflate; se prefiere gzip cuando el cliente acepta ambas). ContentTypes enumera qué tipos de contenido de respuesta son elegibles, se admiten comodines como text/*, y por defecto contiene los tipos habituales de texto, JSON, JavaScript, XML y SVG.

El servidor nunca comprime una respuesta que ya tiene una cabecera Content-Encoding, un código de estado 204/304/1xx o un tipo de contenido text/event-stream (Server-Sent Events), y omite la compresión cuando el resultado comprimido no sería realmente más pequeño. Cuando comprime una respuesta, establece Content-Encoding y añade una cabecera Vary: Accept-Encoding. Esta propiedad solo cubre las respuestas HTTP/1.1; las respuestas HTTP/2 no se ven afectadas. Consulte Compresión HTTP para una explicación completa y para ver en qué se diferencia de la compresión de mensajes WebSocket.

Ejemplo


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

Volver a Propiedades