TsgcWebSocketHTTPServerPropriedades › MaxRequestBodySize

MaxRequestBodySize Propriedade

Tamanho máximo em bytes do corpo de uma requisição HTTP recebida; protege o servidor contra ataques de esgotamento de memória.

Sintaxe

property MaxRequestBodySize: Int64 read GetMaxRequestBodySize write SetMaxRequestBodySize;

Valor Padrão

67108864 (64 MB). Use 0 para ilimitado.

Observações

MaxRequestBodySize limita o tamanho do corpo de uma requisição HTTP recebida. Sem esse limite, um cliente pode declarar um Content-Length enorme e enviar um corpo ilimitado ao servidor para esgotar a sua memória. Quando o tamanho de corpo declarado de uma requisição excede esse limite, o servidor rejeita a requisição com o status HTTP 413 (Payload Too Large) em vez de armazená-la em buffer, portanto a tentativa é interrompida antes que qualquer alocação grande ocorra.

O padrão de 64 MB é seguro para a grande maioria das aplicações. Aumente-o se a sua aplicação aceitar legitimamente uploads grandes via HTTP POST, ou reduza-o para apertar o limite de memória em um servidor exposto publicamente. Um valor de 0 desabilita o limite por completo (não recomendado em um servidor acessível a partir de redes não confiáveis). Esse limite é independente de MaxMessageSize, que limita as mensagens WebSocket recebidas em vez dos corpos de requisições HTTP.

Exemplo


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;

Voltar para Propriedades