TsgcWebSocketHTTPServer속성 › MaxRequestBodySize

MaxRequestBodySize Property

인바운드 HTTP 요청 본문의 최대 크기(바이트)이며, 메모리 고갈 공격으로부터 서버를 보호합니다.

구문

__property __int64 MaxRequestBodySize;

기본값

67108864(64 MB). 무제한으로 하려면 0을 사용하십시오.

설명

MaxRequestBodySize는 인바운드 HTTP 요청 본문의 크기를 제한합니다. 이러한 제한이 없으면 클라이언트가 거대한 Content-Length를 선언하고 무한정한 본문을 서버로 스트리밍하여 메모리를 고갈시킬 수 있습니다. 요청의 선언된 본문 크기가 이 제한을 초과하면 서버는 본문을 버퍼링하는 대신 HTTP 상태 413(Payload Too Large)으로 요청을 거부하므로, 대규모 할당이 발생하기 전에 시도가 중단됩니다.

기본값 64 MB는 대부분의 애플리케이션에 안전합니다. 애플리케이션이 HTTP POST를 통해 대용량 업로드를 정당하게 허용하는 경우 값을 높이거나, 외부에 노출된 서버에서 메모리 제한을 강화하려면 값을 낮추십시오. 0 값은 제한을 완전히 비활성화합니다(신뢰할 수 없는 네트워크에서 접근 가능한 서버에서는 권장되지 않음). 이 제한은 MaxMessageSize와 독립적이며, MaxMessageSize는 HTTP 요청 본문이 아닌 인바운드 WebSocket 메시지를 제한합니다.

예제


oServer = new TsgcWebSocketHTTPServer();
oServer->Port = 80;
oServer->MaxRequestBodySize = (__int64)16 * 1024 * 1024;
oServer->Active = true;

속성으로 돌아가기