7个版本 ()
使用旧的Rust 2015
1.0.0-eval2 | 2019年8月17日 |
---|---|
1.0.0-eval1 | 2019年8月16日 |
0.1.1-beta | 2019年2月2日 |
0.1.0-beta.3 | 2018年12月15日 |
#597 in HTTP服务器
72KB
1K SLoC
KatWebX

适用于现代Web的极快静态Web服务器和反向代理。更多信息可在KatWebX.kittyhacker101.tk上找到。
重要信息
KatWebX仍在开发中,您可能会遇到问题。KatWebX未经充分测试,不建议在生产环境中使用!某些版本比其他版本更稳定,发布页面上的内容可能比git仓库中的当前代码更稳定。
对这个项目感兴趣?您可以通过向以下比特币地址捐赠来资助KatWebX的开发:1KyggZGHF4BfHoHEXxoGzDmLmcGLaHN2x2
。
发布时间表
以下是KatWebX发布的预计日期。
- 八月 - 评估版本,包含所有完全实现的功能,以及性能良好且易于阅读的代码库。在此版本发布之后,将不会进行任何功能更改,只在此期间实现性能优化、代码清理和错误修复。评估版本旨在测试 KatWebX 在生产环境中的表现,但不适用于大规模部署或关键系统。
- 九月 - 将完成并打包一个功能完整、可用于生产的 1.0 版本。额外更新将仅添加一些小的功能更改,主要关注性能改进和错误修复。
已知问题(本文件撰写时)
- 评估版本 1 无法正确发送内容类型 HTTP 头部。这个问题将在未来的版本中修复。
- 评估版本 1 在对代码库进行重要更改之前进行了编译,因此不适合评估 KatWebX 的功能。很快将制作一个新的构建版本。
当前功能
- 易于阅读的 TOML 配置
- 灵活的配置解析
- 基于正则表达式的重定向
- 压缩的基于正则表达式的反向代理
- HTTP 基本认证
- 极快的文件服务
- Brotli 文件压缩
- Systemd/systemfd 套接字监听
- 即时配置重新加载
- HSTS 支持
- SNI 和 OCSP 响应叠加
- 高性能 HTTP/2 和 TLS 1.3
- 多种日志格式
- 材质设计服务器生成的页面
可能的功能(可能不会很快实现,但未来有实现的可能性)
- Let's Encrypt 集成(难以实现但实用,未来可能实现)
- 缓存代理(目前很难实现,短期内不太可能实现)
- 高级负载均衡器(未来可能实现)
- WebSocket 反向代理(未来可能实现)
- 支持更多架构(最终可能实现,需要更新依赖项)
不太可能实现的功能(短期内不会实现,或根本不会实现)
- QUIC 支持(底层 HTTP 库(actix-web)不支持它,并且只有 1 个浏览器默认支持。在它得到更多采用之前,我不会自己添加它。)
- CGI/FastCGI 支持(没有现有的 Rust 客户端库,并且实际上也没有理由实现它。HTTP/2 可以完成 FastCGI 所能做的一切,而 KatWebX 内置了支持 HTTP/2 的反向代理。)
- SPDY 支持(SPDY 正在消亡,因为它被 HTTP/2 取代。KatWebX 完全支持 HTTP/2。)
- TLS 1.1 或更早版本(所有最新的浏览器都支持 TLS 1.2 或更高版本,这些较旧的 TLS 协议非常不安全。)
- 其他语言的文档(我不知道其他语言,也没有资源雇佣翻译人员。)
依赖项
~38–54MB
~1M SLoC