TsgcHTTPServer

Componente de servidor HTTP puro — el mismo motor que TsgcWebSocketHTTPServer, sin soporte de WebSocket, para publicar servicios solo HTTP como un servidor MCP.

Introducción

TsgcHTTPServer es un componente de servidor HTTP puro: comparte el mismo motor subyacente que TsgcWebSocketHTTPServer (raíz de documentos, sesiones, keep-alive, compresión HTTP, HTTP/2, HTTP/3, TLS, autenticación, grupo de hilos, motores IOCP/EPOLL, subida de archivos, firewall, limitador de velocidad...) pero nunca actualiza una conexión al protocolo WebSocket. No hay handshake, no hay frames, y ninguno de los miembros exclusivos de WebSocket (Extensions, Specifications, HeartBeat, QueueOptions, OnMessage/OnBinary/OnFragmented/OnHandshake, LoadBalancer/OnLoadBalancer*, Groups) está publicado en él.

Use TsgcHTTPServer cuando su aplicación solo necesite publicar un endpoint HTTP y no desee enlazar ningún código de WebSocket, por ejemplo para alojar un servidor MCP (Model Context Protocol), una API REST/JSON o un servidor de archivos/documentos simple. Si también necesita soporte de WebSocket en el mismo puerto, use TsgcWebSocketHTTPServer en su lugar.

Siga los pasos que se indican a continuación para configurar este componente:

1. Coloque un componente TsgcHTTPServer en el formulario

2. Establezca el puerto (el valor predeterminado es 80). Si está detrás de un cortafuegos, probablemente necesitará configurarlo.

3. Gestione OnCommandGet / OnCommandOther para responder a las solicitudes, o establezca DocumentRoot para servir archivos estáticos automáticamente.

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

OnHTTPUploadBeforeCreatePostStream: este evento se llama después de que se han leído las cabeceras y antes de que se cree el flujo de publicación.

* En algunos casos, puede producirse un alto consumo de CPU debido a conexiones no solicitadas; en estos casos, simplemente devuelva un error 500 o cierre la conexión desde OnUnknownProtocol.

4. Cree un procedimiento y establezca la propiedad Active = true.

Referencia

Guías