TsgcWebSocketHTTPServerEigenschappen › MaxRequestBodySize

MaxRequestBodySize Eigenschap

Maximale grootte in bytes van een inkomende HTTP-verzoekbody; beschermt de server tegen geheugenuitputtingsaanvallen.

Syntaxis

property MaxRequestBodySize: Int64 read GetMaxRequestBodySize write SetMaxRequestBodySize;

Standaardwaarde

67108864 (64 MB). Gebruik 0 voor onbeperkt.

Opmerkingen

MaxRequestBodySize begrenst de grootte van een inkomende HTTP-verzoekbody. Zonder een dergelijke grens kan een client een enorme Content-Length opgeven en een onbegrensde body naar de server streamen om het geheugen uit te putten. Wanneer de opgegeven bodygrootte van een verzoek deze limiet overschrijdt, weigert de server het verzoek met HTTP-status 413 (Payload Too Large) in plaats van het te bufferen, zodat de poging wordt gestopt voordat er een grote allocatie plaatsvindt.

De standaardwaarde van 64 MB is veilig voor de overgrote meerderheid van toepassingen. Verhoog deze als uw toepassing legitiem grote uploads via HTTP POST accepteert, of verlaag deze om de geheugengrens op een publiek toegankelijke server aan te scherpen. Een waarde van 0 schakelt de limiet volledig uit (niet aanbevolen op een server die bereikbaar is vanaf niet-vertrouwde netwerken). Deze limiet staat los van MaxMessageSize, die inkomende WebSocket-berichten begrenst in plaats van HTTP-verzoekbodies.

Voorbeeld


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

Terug naar Properties