TsgcHTTPServer

Componente servidor HTTP puro — o mesmo mecanismo do TsgcWebSocketHTTPServer, sem suporte a WebSocket, para publicar serviços somente HTTP, como um servidor MCP.

Introdução

O TsgcHTTPServer é um componente de servidor HTTP puro: ele compartilha o mesmo mecanismo subjacente do TsgcWebSocketHTTPServer (document root, sessões, keep-alive, compressão HTTP, HTTP/2, HTTP/3, TLS, autenticação, pool de threads, mecanismos IOCP/EPOLL, upload de arquivos, firewall, rate limiter...), mas nunca faz upgrade de uma conexão para o protocolo WebSocket. Não há handshake, não há frames, e nenhum dos membros exclusivos de WebSocket (Extensions, Specifications, HeartBeat, QueueOptions, OnMessage/OnBinary/OnFragmented/OnHandshake, LoadBalancer/OnLoadBalancer*, Groups) está publicado nele.

Utilize o TsgcHTTPServer quando a sua aplicação precisar apenas publicar um endpoint HTTP e você não quiser vincular nenhum código WebSocket, por exemplo, para hospedar um servidor MCP (Model Context Protocol), uma API REST/JSON, ou um servidor simples de arquivos/documentos. Se você também precisar de suporte a WebSocket na mesma porta, utilize TsgcWebSocketHTTPServer em vez disso.

Siga os passos abaixo para configurar este componente:

1. Coloque um componente TsgcHTTPServer no formulário

2. Defina a Port (o padrão é 80). Se você estiver atrás de um firewall, provavelmente precisará configurá-lo.

3. Trate OnCommandGet / OnCommandOther para responder às requisições, ou defina DocumentRoot para servir arquivos estáticos automaticamente.

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

 

OnHTTPUploadBeforeCreatePostStream: este evento é chamado depois que os cabeçalhos foram lidos e antes de o post stream ser criado.

 

* Em alguns casos, você pode obter um alto consumo de cpu devido a conexões não solicitadas; nesses casos, basta retornar um erro 500 ou fechar a conexão a partir de OnUnknownProtocol.

 

4. Crie um procedimento e defina a propriedade Active = true.

 

Referência

Guides