14 个版本

0.5.0 2024年3月3日
0.4.3 2023年10月6日
0.4.2 2023年5月12日
0.3.5 2021年12月2日
0.1.0 2020年6月20日

#187 in HTTP 服务器


flash_rust_ws 中使用

AGPL-3.0

115KB
2.5K SLoC

Project Status: Active – The project has reached a stable, usable state and is being actively developed. crates.io Released API docs GitHub GitHub Workflow Status

纯 Rust 实现的 FastCGI。

重点是网络服务器/客户端,但未来可能添加应用程序/服务器端。

FlashRust Web服务器 开发,重点关注

  • 向量化 IO 和零拷贝
  • 异步 IO / tokio
  • 简单的 HTTP 接口

已测试与

  • Flup (Python)
  • PHP

cargo运行 --示例webserver --特性="con_pool"

特性

  • 透明处理 UnixStream 和 TCPStream
  • 如果连接关闭,重新连接到 FCGI 应用
  • 启动 FCGI 服务器(exec + env)
  • 支持大于最大记录大小的键值对
  • 与 FCGI 服务器/应用的全双工连接(例如同时流 STDIN 和 OUT)
  • con_pool 应该处理多个连接 😅 并进行负载均衡
  • 丢失的 FCGIBody 不会阻塞 RequestID 并取消请求
  • Connection 应该处理来自 FCGI 应用的过载错误
  • 解析 FCGI 应用程序/服务器端

顺便说一句,PullRequests 欢迎使用

其他 FCGI Crates

Crates 描述 与这个的区别
fastcgi-client 异步 (tokio) 客户端 不同的 API
fastcgi 同步服务器 同步。仅服务器/App 端
fastcgi-sdk 绑定到 FastCGI SDK 绑定
gfcgi 已放弃 仅服务器/App 端
fcgi 绑定 已撤回

依赖关系

~0.6–12MB
~90K SLoC