TsgcWebSocketHTTPServerEigenschaften › MaxRequestBodySize

MaxRequestBodySize Eigenschaft

Maximale Größe eines eingehenden HTTP-Anfrage-Bodys in Bytes; schützt den Server vor Speichererschöpfungsangriffen.

Syntax

property MaxRequestBodySize: Int64 read GetMaxRequestBodySize write SetMaxRequestBodySize;

Standardwert

67108864 (64 MB). Verwenden Sie 0 für unbegrenzt.

Hinweise

MaxRequestBodySize begrenzt die Größe eines eingehenden HTTP-Anfrage-Bodys. Ohne eine solche Begrenzung kann ein Client eine riesige Content-Length deklarieren und einen unbegrenzten Body an den Server streamen, um dessen Speicher zu erschöpfen. Wenn die deklarierte Body-Größe einer Anfrage dieses Limit überschreitet, weist der Server die Anfrage mit dem HTTP-Status 413 (Payload Too Large) ab, anstatt sie zu puffern, sodass der Versuch gestoppt wird, bevor eine große Speicherzuweisung erfolgt.

Der Standardwert von 64 MB ist für die überwiegende Mehrheit der Anwendungen sicher. Erhöhen Sie ihn, wenn Ihre Anwendung berechtigterweise große Uploads über HTTP POST entgegennimmt, oder verringern Sie ihn, um die Speichergrenze auf einem öffentlich erreichbaren Server enger zu fassen. Der Wert 0 deaktiviert das Limit vollständig (auf einem aus nicht vertrauenswürdigen Netzwerken erreichbaren Server nicht empfohlen). Dieses Limit ist unabhängig von MaxMessageSize, das eingehende WebSocket-Nachrichten und nicht HTTP-Anfrage-Bodies begrenzt.

Beispiel


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;

Zurück zu Properties