TsgcHTTPServer

Zwykły komponent serwera HTTP — ten sam silnik co TsgcWebSocketHTTPServer, bez obsługi WebSocket, do publikowania usług wyłącznie HTTP, takich jak serwer MCP.

Wprowadzenie

TsgcHTTPServer to zwykły komponent serwera HTTP: współdzieli ten sam bazowy silnik co TsgcWebSocketHTTPServer (katalog dokumentów, sesje, keep-alive, kompresja HTTP, HTTP/2, HTTP/3, TLS, uwierzytelnianie, pula wątków, silniki IOCP/EPOLL, przesyłanie plików, zapora sieciowa, ogranicznik szybkości...), ale nigdy nie uaktualnia połączenia do protokołu WebSocket. Nie ma tu uzgadniania (handshake), ramek ani żadnego ze składników właściwych wyłącznie dla WebSocket (Extensions, Specifications, HeartBeat, QueueOptions, OnMessage/OnBinary/OnFragmented/OnHandshake, LoadBalancer/OnLoadBalancer*, Groups), które nie są tu opublikowane.

Użyj TsgcHTTPServer, gdy Twoja aplikacja musi jedynie publikować punkt końcowy HTTP i nie chcesz dołączać żadnego kodu WebSocket, na przykład aby hostować serwer MCP (Model Context Protocol), interfejs API REST/JSON lub zwykły serwer plików/dokumentów. Jeśli na tym samym porcie potrzebujesz również obsługi WebSocket, użyj zamiast tego komponentu TsgcWebSocketHTTPServer.

Należy wykonać poniższe kroki w celu skonfigurowania tego komponentu:

1. Upuść komponent TsgcHTTPServer na formularzu

2. Ustaw Port (domyślnie 80). Jeśli jesteś za zaporą sieciową, prawdopodobnie konieczne będzie jej skonfigurowanie.

3. Obsłuż zdarzenia OnCommandGet / OnCommandOther, aby odpowiadać na żądania, albo ustaw DocumentRoot, aby automatycznie serwować pliki statyczne.

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

 

OnHTTPUploadBeforeCreatePostStream: to zdarzenie jest wywoływane po odczytaniu nagłówków i przed utworzeniem strumienia POST.

 

* W niektórych przypadkach może wystąpić duże zużycie procesora spowodowane niepożądanymi połączeniami; w takich przypadkach wystarczy zwrócić błąd 500 lub zamknąć połączenie z poziomu OnUnknownProtocol.

 

4. Utwórz procedurę i ustaw właściwość Active = true.

 

Dokumentacja

Przewodniki