TsgcHTTPServer › Właściwości › MaxRequestBodySize

MaxRequestBodySize Właściwość

Maksymalny rozmiar w bajtach przychodzącej treści żądania HTTP; chroni serwer przed atakami wyczerpującymi pamięć.

Składnia

property MaxRequestBodySize: Int64 read GetMaxRequestBodySize write SetMaxRequestBodySize;

Wartość domyślna

67108864 (64 MB). Użyj 0, aby uzyskać brak limitu.

Uwagi

MaxRequestBodySize ogranicza rozmiar przychodzącej treści żądania HTTP. Bez takiego ograniczenia klient może zadeklarować ogromny Content-Length i przesyłać nieograniczoną treść do serwera, aby wyczerpać jego pamięć. Gdy zadeklarowany rozmiar treści żądania przekracza ten limit, serwer odrzuca żądanie ze statusem HTTP 413 (Payload Too Large) zamiast go buforować, więc próba zostaje zatrzymana, zanim nastąpi jakakolwiek duża alokacja.

Wartość domyślna 64 MB jest bezpieczna dla zdecydowanej większości aplikacji. Zwiększ ją, jeśli Twoja aplikacja rzeczywiście przyjmuje duże przesyłane pliki przez HTTP POST, albo zmniejsz, aby zaostrzyć limit pamięci na serwerze dostępnym publicznie. Wartość 0 całkowicie wyłącza limit (niezalecane na serwerze dostępnym z niezaufanych sieci).

Przykład


oServer := TsgcHTTPServer.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;

Wróć do Właściwości