TsgcHTTPServer

일반 HTTP 서버 구성 요소입니다. TsgcWebSocketHTTPServer와 동일한 엔진을 사용하지만 WebSocket 지원 없이, MCP 서버와 같은 HTTP 전용 서비스를 게시하기 위한 것입니다.

소개

TsgcHTTPServer는 일반 HTTP 서버 구성 요소입니다. TsgcWebSocketHTTPServer와 동일한 기본 엔진(document root, 세션, keep-alive, HTTP 압축, HTTP/2, HTTP/3, TLS, 인증, 스레드 풀, IOCP/EPOLL 엔진, 파일 업로드, 방화벽, rate limiter 등)을 공유하지만, 연결을 WebSocket 프로토콜로 업그레이드하지 않습니다. 핸드셰이크도 없고 프레임도 없으며, WebSocket 전용 멤버(Extensions, Specifications, HeartBeat, QueueOptions, OnMessage/OnBinary/OnFragmented/OnHandshake, LoadBalancer/OnLoadBalancer*, Groups) 중 어느 것도 이 구성 요소에는 게시되어 있지 않습니다.

애플리케이션이 HTTP 엔드포인트만 게시하면 되고 WebSocket 코드를 전혀 링크하고 싶지 않은 경우, 예를 들어 MCP(Model Context Protocol) 서버, REST/JSON API, 또는 일반 파일/문서 서버를 호스팅하려는 경우 TsgcHTTPServer를 사용하십시오. 동일한 포트에서 WebSocket 지원도 필요한 경우에는 대신 TsgcWebSocketHTTPServer를 사용하십시오.

이 구성 요소를 구성하려면 아래 단계를 따르십시오:

1. Form에 TsgcHTTPServer 구성 요소를 놓으십시오

2. Port를 설정합니다(기본값은 80). 방화벽 뒤에 있는 경우 구성해야 할 수 있습니다.

3. 요청에 응답하려면 OnCommandGet / OnCommandOther를 처리하거나, 정적 파일을 자동으로 제공하려면 DocumentRoot를 설정하십시오.

AResponseInfo.ContentText := '<HTML><HEADER>TEST</HEAD><BODY>Hello!</BODY></HTML>';

OnHTTPUploadBeforeCreatePostStream: 이 이벤트는 헤더를 읽은 후 그리고 post stream이 생성되기 전에 호출됩니다.

* 경우에 따라, 요청되지 않은 연결로 인해 CPU 소비가 높아질 수 있습니다. 이러한 경우, 오류 500을 반환하거나 OnUnknownProtocol에서 연결을 닫으십시오.

4. 프로시저를 만들고 Active = true 속성을 설정하십시오.

참조

Guides