TsgcWebSocketHTTPServerÖzellikler › HTTPCompression

HTTPCompression Özellik

DocumentRoot statik dosyaları ve dinamik OnCommandGet yanıtları için, istemci desteğini bildirdiğinde 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ırılmamış olarak gönderir. İstemcinin Accept-Encoding istek başlığı izin verdiğinde uygun yanıtları gzip veya deflate ile sıkıştırmak için HTTPCompression.Enabled özelliğini True olarak ayarlayın. Level, 0 ile 9 arasındaki sıkıştırma düzeyidir (varsayılan 6). MinSize, bu kadar bayttan (varsayılan 1.024) küçük yanıtların sıkıştırılmasını atlar, çünkü küçük bir gövdeyi sıkıştırmak nadiren CPU maliyetine değer. Algorithms, sunucunun kullanabileceği kodlamalar kümesidir (varsayılan olarak hem caGZip hem de 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 başlığına, 204/304/1xx durum koduna veya text/event-stream (Server-Sent Events) içerik türüne sahip bir yanıtı asla sıkıştırmaz ve sıkıştırılmış sonuç aslında daha küçük olmayacaksa sıkıştırmayı atlar. Bir yanıtı sıkıştırdığında Content-Encoding başlığını ayarlar ve bir Vary: Accept-Encoding başlığı ekler. Bu özellik yalnızca HTTP/1.1 yanıtlarını kapsar; HTTP/2 yanıtları etkilenmez. Tam bir açıklama ve WebSocket mesaj sıkıştırmasından nasıl farklı olduğu için HTTP Sıkıştırma sayfasına 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