纯 HTTP 服务器组件,与 TsgcWebSocketHTTPServer 使用相同的引擎,但不支持 WebSocket,用于发布纯 HTTP 服务,例如 MCP 服务器。
TsgcHTTPServer 是一个纯 HTTP 服务器组件:它与 TsgcWebSocketHTTPServer 共享同一底层引擎(文档根目录、会话、保持连接、HTTP 压缩、HTTP/2、HTTP/3、TLS、身份验证、线程池、IOCP/EPOLL 引擎、文件上传、防火墙、速率限制器……),但它从不将连接升级为 WebSocket 协议。没有握手,没有帧,也没有发布任何 WebSocket 专属成员(Extensions、Specifications、HeartBeat、QueueOptions、OnMessage/OnBinary/OnFragmented/OnHandshake、LoadBalancer/OnLoadBalancer*、Groups)。
如果您的应用程序只需要发布一个 HTTP 端点,且完全不想链接任何 WebSocket 代码,请使用 TsgcHTTPServer,例如托管 MCP(Model Context Protocol)服务器、REST/JSON API 或纯文件/文档服务器。如果您还需要在同一端口上支持 WebSocket,请改用 TsgcWebSocketHTTPServer。
请按照以下步骤配置此组件:
1. 在表单中拖放一个 TsgcHTTPServer 组件
2. 设置端口(默认为 80)。如果您在防火墙后面,可能需要配置防火墙。
3. 处理 OnCommandGet / OnCommandOther 以响应请求,或设置 DocumentRoot 以自动提供静态文件。
AResponseInfo.ContentText := '<HTML><HEADER>TEST</HEAD><BODY>Hello!</BODY></HTML>';
OnHTTPUploadBeforeCreatePostStream: 该事件在读取请求头之后、创建 POST 流之前触发。
* 在某些情况下,由于未经请求的连接,可能会导致 CPU 占用率过高,此时只需返回 500 错误,或在 OnUnknownProtocol 中关闭连接即可。
4. 创建一个过程并将属性 Active 设置为 True。