TsgcWebSocketLoadBalancerServerÖzellikler › MaxRequestBodySize

MaxRequestBodySize Özellik

Gelen bir HTTP istek gövdesinin bayt cinsinden maksimum boyutu; sunucuyu bellek tüketme saldırılarından korur.

Sözdizimi

property MaxRequestBodySize: Int64 read GetMaxRequestBodySize write SetMaxRequestBodySize;

Varsayılan Değer

67108864 (64 MB). Sınırsız için 0 kullanın.

Remarks

MaxRequestBodySize gelen bir HTTP istek gövdesinin boyutunu sınırlar. Böyle bir sınır olmadan bir istemci çok büyük bir Content-Length bildirebilir ve belleğini tüketmek için sunucuya sınırsız bir gövde akıtabilir. Bir isteğin bildirilen gövde boyutu bu sınırı aştığında, sunucu isteği arabelleğe almak yerine HTTP durumu 413 (Payload Too Large) ile reddeder, böylece büyük herhangi bir ayırma gerçekleşmeden girişim durdurulur.

64 MB varsayılanı uygulamaların büyük çoğunluğu için güvenlidir. Uygulamanız HTTP POST aracılığıyla meşru olarak büyük yüklemeler kabul ediyorsa bunu yükseltin veya internete açık bir yük dengeleyicide bellek sınırını sıkılaştırmak için düşürün. 0 değeri sınırı tamamen devre dışı bırakır (güvenilmeyen ağlardan erişilebilen bir sunucuda önerilmez). Bu sınır, HTTP istek gövdeleri yerine gelen WebSocket mesajlarını sınırlandıran MaxMessageSize'dan bağımsızdır.

Örnek


oServer := TsgcWebSocketLoadBalancerServer.Create(nil);
oServer.Port := 80;
// reject any HTTP request whose body is larger than 16 MB (HTTP 413)
oServer.MaxRequestBodySize := 16 * 1024 * 1024;
oServer.Active := true;

Özelliklere Dön