TsgcWebSocketHTTPServerPropiedades › MaxRequestBodySize

MaxRequestBodySize Propiedad

Tamaño máximo en bytes del cuerpo de una petición HTTP entrante; protege al servidor frente a ataques de agotamiento de memoria.

Sintaxis

property MaxRequestBodySize: Int64 read GetMaxRequestBodySize write SetMaxRequestBodySize;

Valor Predeterminado

67108864 (64 MB). Utilice 0 para ilimitado.

Observaciones

MaxRequestBodySize acota el tamaño del cuerpo de una petición HTTP entrante. Sin tal límite, un cliente puede declarar un Content-Length enorme y transmitir un cuerpo sin límite al servidor para agotar su memoria. Cuando el tamaño de cuerpo declarado de una petición supera este límite, el servidor rechaza la petición con el estado HTTP 413 (Payload Too Large) en lugar de almacenarla en búfer, por lo que el intento se detiene antes de que se produzca cualquier asignación grande.

El valor predeterminado de 64 MB es seguro para la inmensa mayoría de las aplicaciones. Auméntelo si su aplicación acepta legítimamente cargas de gran tamaño mediante HTTP POST, o redúzcalo para reforzar el límite de memoria en un servidor expuesto al público. Un valor de 0 deshabilita el límite por completo (no recomendado en un servidor accesible desde redes no confiables). Este límite es independiente de MaxMessageSize, que acota los mensajes WebSocket entrantes en lugar de los cuerpos de las peticiones HTTP.

Ejemplo


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;

Volver a Propiedades