在查看了几个可用的 http 服务器库后,我还没有找到我正在寻找的东西,并且我确信我不能成为第一个拥有这组要求的人。
我需要一个提供“流水线”API 的库。流水线用于描述一种 HTTP 功能,其中可以一次通过 TCP 链接发送多个 HTTP 请求,而无需等待响应。我希望库 API 上有一个类似的功能,我的应用程序可以接收所有这些请求而无需发送响应(我会响应,但希望能够一次处理多个请求以减少内部延迟的影响)。
所以网络服务器库需要支持以下流程
1) HTTP Client 传输 http 请求 1
2) HTTP 客户端传输 http 请求 2 ...
3) Web Server Library 接收请求 1 并将其传递给 My Web Server App
4) 我的 Web 服务器应用程序接收到请求 1 并将其分派到我的系统
5) Web Server 收到请求 2 并将其传递给 My Web Server App
6) 我的 Web 服务器应用程序接收请求 2 并将其分派到我的系统
7) 我的 Web 服务器应用程序从我的系统接收到对请求 1 的响应并将其传递给 Web 服务器
8) Web Server 向 HTTP Client 发送 HTTP 响应 1
9) My Web Server App 从 My System 接收到对请求 2 的响应并将其传递给 Web Server
10) Web Server 向 HTTP Client 发送 HTTP 响应 2
希望这能说明我的要求。有两个关键点需要识别。对 Web 服务器库的响应是异步的,并且可能有多个 HTTP 请求传递到我的 Web 服务器应用程序,但响应未完成。
额外的要求是
- 可嵌入到现有的“C”应用程序中
- 占地面积小;我不需要 Apache 等提供的所有功能。
- 高效的; 需要每秒支持数千个请求
- 允许异步响应请求;它们对响应的延迟很小,并且考虑到所需的请求吞吐量,同步架构对我不起作用。
- 支持持久的 TCP 连接
- 支持与 Server-Push Comet 连接一起使用
- 开源/GPL
- 支持 HTTPS
- 可跨linux、windows移植;最好更多。
我将非常感谢任何建议
此致