TsgcHTTPServer

Composant serveur HTTP simple, qui repose sur le même moteur que TsgcWebSocketHTTPServer, sans prise en charge du WebSocket, pour publier des services purement HTTP comme un serveur MCP.

Introduction

TsgcHTTPServer est un composant serveur HTTP simple : il partage le même moteur sous-jacent que TsgcWebSocketHTTPServer (racine de documents, sessions, keep-alive, compression HTTP, HTTP/2, HTTP/3, TLS, authentification, pool de threads, moteurs IOCP/EPOLL, téléversement de fichiers, pare-feu, limiteur de débit...) mais il ne fait jamais évoluer une connexion vers le protocole WebSocket. Il n'y a ni handshake, ni trames, et aucun des membres propres au WebSocket (Extensions, Specifications, HeartBeat, QueueOptions, OnMessage/OnBinary/OnFragmented/OnHandshake, LoadBalancer/OnLoadBalancer*, Groups) n'est publié sur ce composant.

Utilisez TsgcHTTPServer lorsque votre application a seulement besoin de publier un point de terminaison HTTP et que vous ne souhaitez lier aucun code WebSocket, par exemple pour héberger un serveur MCP (Model Context Protocol), une API REST/JSON, ou un simple serveur de fichiers/documents. Si vous avez également besoin du support WebSocket sur le même port, utilisez plutôt TsgcWebSocketHTTPServer.

Suivez les étapes ci-dessous pour configurer ce composant :

1. Déposez un composant TsgcHTTPServer dans le formulaire

2. Définissez Port (par défaut 80). Si vous êtes derrière un pare-feu, vous devrez probablement le configurer.

3. Gérez OnCommandGet / OnCommandOther pour répondre aux requêtes, ou définissez DocumentRoot pour servir automatiquement les fichiers statiques.

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

OnHTTPUploadBeforeCreatePostStream : cet événement est appelé après la lecture des en-têtes et avant la création du flux post.

* Dans certains cas, vous pouvez constater une consommation CPU élevée due à des connexions non sollicitées ; dans ces cas, retournez simplement une erreur 500 ou fermez la connexion depuis OnUnknownProtocol.

4. Créer une procédure et définir la propriété Active = true.

Référence

Guides