TsgcWebSocketHTTPServerPropriedades › HTTPCompression

HTTPCompression Propriedade

Comprime as respostas HTTP/1.1 com gzip ou deflate quando o cliente anuncia suporte, tanto para arquivos estáticos de DocumentRoot quanto para respostas dinâmicas de OnCommandGet.

Sintaxe

property HTTPCompression: TsgcHTTPCompression_Options read FHTTPCompression write SetHTTPCompression;

Valor Padrão

Enabled=False

Observações

Por padrão, o servidor envia todas as respostas HTTP/1.1 sem compressão. Defina HTTPCompression.Enabled como True para comprimir as respostas elegíveis com gzip ou deflate sempre que o cabeçalho de requisição Accept-Encoding do cliente permitir. Level é o nível de compressão de 0 a 9 (padrão 6). MinSize ignora a compressão de respostas menores que esta quantidade de bytes (padrão 1.024), já que comprimir um corpo minúsculo raramente compensa o custo de CPU. Algorithms é o conjunto de codificações que o servidor pode utilizar (padrão ambos caGZip e caDeflate; gzip é preferido quando o cliente aceita ambos). ContentTypes lista quais tipos de conteúdo de resposta são elegíveis, curingas como text/* são suportados, e o padrão são os tipos comuns de texto, JSON, JavaScript, XML e SVG.

O servidor nunca comprime uma resposta que já possui um cabeçalho Content-Encoding, um código de status 204/304/1xx, ou um tipo de conteúdo text/event-stream (Server-Sent Events), e ignora a compressão quando o resultado comprimido não seria efetivamente menor. Quando comprime uma resposta, define Content-Encoding e adiciona um cabeçalho Vary: Accept-Encoding. Esta propriedade abrange apenas respostas HTTP/1.1; as respostas HTTP/2 não são afetadas. Consulte Compressão HTTP para uma explicação completa e como ela difere da compressão de mensagens WebSocket.

Exemplo


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

Voltar para Propriedades