TsgcWebSocketLoadBalancerServerPropriétés › MaxRequestBodySize

MaxRequestBodySize Propriété

Taille maximale en octets d'un corps de requête HTTP entrante ; protège le serveur des attaques par épuisement de mémoire.

Syntaxe

property MaxRequestBodySize: Int64 read GetMaxRequestBodySize write SetMaxRequestBodySize;

Valeur par défaut

67108864 (64 Mo). Utilisez 0 pour illimité.

Remarques

MaxRequestBodySize borne la taille d'un corps de requête HTTP entrante. Sans une telle borne, un client peut déclarer un Content-Length énorme et diffuser un corps illimité vers le serveur afin d'épuiser sa mémoire. Lorsque la taille de corps déclarée d'une requête dépasse cette limite, le serveur rejette la requête avec le statut HTTP 413 (Payload Too Large) au lieu de la mettre en mémoire tampon, de sorte que la tentative est stoppée avant toute allocation importante.

La valeur par défaut de 64 Mo est sûre pour la grande majorité des applications. Augmentez-la si votre application accepte légitimement des téléversements volumineux via HTTP POST, ou réduisez-la pour resserrer la limite mémoire sur un équilibreur de charge exposé publiquement. Une valeur de 0 désactive entièrement la limite (déconseillé sur un serveur accessible depuis des réseaux non fiables). Cette limite est indépendante de MaxMessageSize, qui borne les messages WebSocket entrants plutôt que les corps de requêtes HTTP.

Exemple


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;

Retour aux propriétés