TsgcHTTPServer

Reine HTTP-Server-Komponente — dieselbe Engine wie TsgcWebSocketHTTPServer, jedoch ohne WebSocket-Unterstützung, zum Veröffentlichen reiner HTTP-Dienste wie beispielsweise eines MCP-Servers.

Einführung

TsgcHTTPServer ist eine reine HTTP-Server-Komponente: Sie nutzt dieselbe zugrunde liegende Engine wie TsgcWebSocketHTTPServer (Dokumentenstammverzeichnis, Sitzungen, Keep-Alive, HTTP-Komprimierung, HTTP/2, HTTP/3, TLS, Authentifizierung, Thread-Pool, IOCP-/EPOLL-Engines, Datei-Uploads, Firewall, Rate Limiter...), führt aber niemals ein Upgrade einer Verbindung auf das WebSocket-Protokoll durch. Es gibt keinen Handshake, keine Frames, und keines der reinen WebSocket-Mitglieder (Extensions, Specifications, HeartBeat, QueueOptions, OnMessage/OnBinary/OnFragmented/OnHandshake, LoadBalancer/OnLoadBalancer*, Groups) wird darauf veröffentlicht.

Verwenden Sie TsgcHTTPServer, wenn Ihre Anwendung lediglich einen HTTP-Endpunkt veröffentlichen muss und Sie überhaupt keinen WebSocket-Code einbinden möchten, zum Beispiel um einen MCP-Server (Model Context Protocol), eine REST-/JSON-API oder einen reinen Datei-/Dokumentenserver zu hosten. Wenn Sie auf demselben Port zusätzlich WebSocket-Unterstützung benötigen, verwenden Sie stattdessen TsgcWebSocketHTTPServer.

Folgen Sie den nachstehenden Schritten, um diese Komponente zu konfigurieren:

1. Platzieren Sie eine TsgcHTTPServer-Komponente im Formular

2. Setzen Sie den Port (Standard ist 80). Wenn Sie sich hinter einer Firewall befinden, müssen Sie diese wahrscheinlich konfigurieren.

3. Behandeln Sie OnCommandGet / OnCommandOther, um Anfragen zu beantworten, oder setzen Sie DocumentRoot, um statische Dateien automatisch auszuliefern.

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

 

OnHTTPUploadBeforeCreatePostStream: Dieses Ereignis wird aufgerufen, nachdem die Header gelesen wurden und bevor der Post-Stream erstellt wird.

 

* In manchen Fällen kann es aufgrund unaufgeforderter Verbindungen zu einem hohen CPU-Verbrauch kommen; geben Sie in diesen Fällen einfach einen Fehler 500 zurück oder schließen Sie die Verbindung über OnUnknownProtocol.

 

4. Erstellen Sie eine Prozedur und setzen Sie die Eigenschaft Active = true.

 

Referenz

Leitfäden