 |
|
ServHTTP 是一个运行在 Unix/Linux 上的, C++ 写成的,免费的,多线程,高性能,完全模块化的 HTTP/HTTPS 应用服务器,支持 HTTP 1.0/1.1 协议。 |
|
功能特点 |
 |
完整支持 HTTP 1.0/1.1 协议 |
 |
自动分割的日志系统,并带访问日志 |
 |
方便配置和友好的 Xml 形式配置文件 |
 |
HTTPS (SSL) 支持 |
 |
支持用浏览器直接发送指令 (fpp_get 插件提供) |
 |
支持 Xml rpc 方式的 Xml 包指令 (fpp_xml 插件提供) |
 |
支持 MySQL 身份验证 (pam_mysql 插件提供) |
 |
支持 Unix/Linux 系统用户身份验证 (pam_unix 插件提供) |
 |
支持用 Python 编写Mod和Pam (pymod_loader和pypam_loader插件提供) |
 |
强大的模块化机制,一切都是插件。 |
 |
强大的身份验证系统,支持使用多个 Pam 组成队列进行验证 |
 |
插件加载器支持,使用多种语言编写插件成为可能。 |
 |
验证失败次数超过限制,锁定客户端, 锁定期间拒绝该客户端一切请求。 |
 |
类似 Linux 下 tcpwrappers 的访问控制,可针对网段、IP、操作、来对客户端进行限制。 |
|
|
ServHTTP 可以做什么? |
- 为分布式控制、集中化管理软件系统提供强有力的底层支持
- 可以作为上层应用(比如 Web)与系统控制之间的桥梁
- 她甚至可以作为一个网页服务器运行
- 更多?发挥您的想象力吧
|
|
ServHTTP 的性能如何? |
非常快,因为 ServHTTP 是多线程服务器,所以有着非常高的性能,并能够处理大量的并发。
在我们 P3-500 + 128 SDRAM 机器上运行的 ServHTTP, 使用客户端机器上的 Apache AB 工具做基准测试时,模拟1000 个请求去调用 ServHTTP 的 Python Mod 插件仅耗时 ~2 秒,调用 C++ 的插件也约为 2 秒左右。 |
|
ServHTTP 容易扩展吗? |
非常容易,我们更愿意把 ServHTTP 看作是一个框架,她提供了很多途径让使用者方便地扩充她的功能,目前支持的插件类型有:
|
|
可以用什么语言编写我的 ServHTTP 程序? |
目前,SH 附带了两种 Loader:
- so_loader (内置) - 用于加载 C++ 编写的共享库插件
- pymod_loader - 用于加载 Python 编写的 Mod 插件
- pypam_loader - 用于加载 Python 编写的 Pam 插件
如上面所说,SH 是一个完全模块化的框架,任何人都可以去实现更多的 loader 去支持用其他语言编写插件,或许下一个 ruby_loader 就是您写的 ^_^ |