TsgcWebSocketHTTPServerÖzellikler › HTTPCompression

HTTPCompression Özellik

İstemci desteği bildirdiğinde, hem DocumentRoot statik dosyaları hem de dinamik OnCommandGet yanıtları için HTTP/1.1 yanıtlarını gzip veya deflate ile sıkıştırır.

Sözdizimi

property HTTPCompression: TsgcHTTPCompression_Options read FHTTPCompression write SetHTTPCompression;

Varsayılan Değer

Enabled=False

Remarks

Varsayılan olarak sunucu her HTTP/1.1 yanıtını sıkıştırmadan gönderir. Uygun yanıtları, istemcinin Accept-Encoding istek başlığı izin verdiğinde gzip veya deflate ile sıkıştırmak için HTTPCompression.Enabled değerini True yapın. Level, 0 ile 9 arasındaki sıkıştırma düzeyidir (varsayılan 6). MinSize, bu bayt sayısından küçük yanıtların sıkıştırılmasını atlar (varsayılan 1.024), çünkü küçük bir gövdeyi sıkıştırmak CPU maliyetini nadiren karşılar. Algorithms, sunucunun kullanabileceği kodlamalar kümesidir (varsayılan olarak hem caGZip hem caDeflate; istemci her ikisini de kabul ettiğinde gzip tercih edilir). ContentTypes, hangi yanıt içerik türlerinin uygun olduğunu listeler, text/* gibi joker karakterler desteklenir ve varsayılan olarak yaygın metin, JSON, JavaScript, XML ve SVG türlerini içerir.

Sunucu, zaten bir Content-Encoding üst bilgisi, bir 204/304/1xx durum kodu veya text/event-stream (Sunucu Tarafından Gönderilen Olaylar) içerik türü taşıyan bir yanıtı asla sıkıştırmaz ve sıkıştırılmış sonuç gerçekten daha küçük olmayacaksa sıkıştırmayı atlar. Bir yanıtı sıkıştırdığında Content-Encoding ayarlar ve bir Vary: Accept-Encoding üst bilgisi ekler. Bu özellik yalnızca HTTP/1.1 yanıtlarını kapsar; HTTP/2 yanıtları etkilenmez. Tam açıklama ve WebSocket ileti sıkıştırmasından farkı için HTTP Compression bölümüne bakın.

Örnek


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

Özelliklere Dön