H2O is a very fast HTTP server written in C. It can also be used as a library.
It supports:
- HTTP/1.0, HTTP/1.1
- [HTTP/2](http://http2.github.io/)
- draft 16 (and draft 14 to support older clients)
- persistent connections
- chunked encoding
- negotiation methods: NPN, ALPN, Upgrade, direct
- dependency and weight-based prioritization
- server push
- TLS
- uses [OpenSSL](https://www.openssl.org/)
- forward secrecy
- AEAD ciphers
- OCSP stapling (automatically enabled)
- session resumption (internal memory)
- conditional GET using last-modified / etag
- mime-type configuration
- reverse proxy
- persistent upstream connection
thttpd is a simple, small, portable, fast, and secure HTTP server.
- Simple: It handles only the minimum necessary to implement HTTP/1.1.
- Small: It also has a very small run-time size, since it does not fork
and is very careful about memory allocation.
- Portable: It compiles cleanly on SunOS 4.1.x, Solaris 2.x, BSD/OS 2.x,
Linux 1.2.x, and OSF/1 (on a 64-bit Alpha).
- Fast: In typical use it's about as fast as the best full-featured
servers (Apache, NCSA, Netscape). Under extreme load it's much faster.
- Secure: It goes to great lengths to protect the web server machine
against attacks and breakins from other sites.
It also has one extremely useful feature (URL-traffic-based throttling) that
no other server currently has.
mini_httpd is a small HTTP server. Its performance is not great, but for
low or medium traffic sites it's quite adequate. It implements all the
basic features of an HTTP server, including:
- GET, HEAD, and POST methods
- CGI and basic authentication support
- Security against ".." filename snooping
- The common MIME types
- Trailing-slash redirection
- index.html, index.htm, index.cgi
- Directory listings
- Multihoming (virtual hosting)
- Standard logging
- Custom error pages
It can also be configured to do SSL/HTTPS and IPv6.
Cowboy aims to provide a complete HTTP stack in a small code base. It
is optimized for low latency and low memory usage, in parts because it
uses binary strings.
Cowboy provides routing capabilities, selectively dispatching requests
to handlers written in Erlang.
Because it uses Ranch for managing connections, Cowboy can easily be
embedded in any other application.
mod_spdy is an Apache 2.x filter module that provides SPDY support in the
Apache HTTPD web server. Because mod_spdy is an Apache module, it can be
loaded into currently deployed Apache HTTPD 2.x web servers using mod_so.
mod_dosevasive是Apache的一个规避策略模块,它为Apache在遭受一个HTTP DoS或DDoS攻击或者强制
攻击事件时提供规避行动。
它也是一个检测和管理网络的工具,可以方便地配置以便与ipchains、网络防火墙、路由器等进行交互。
mod_dosevasive目前可以通过电子邮件和syslog等设施来报告滥用行为。
检测是通过创建一个IP地址和URI的内部动态哈希表,并拒绝任何单一的IP地址的以下行为:
* 每秒多次请求同一个页面
* 在同一个Apache Child上,每秒发起超过50个并发请求
* 在临时黑名单上(在阻止列表上)的IP,发起任意请求
这个方法对于单一服务器脚本攻击和分布式攻击同样行之有效,但是和其它规避工具一样,仅仅对保护带宽和
处理器消耗起作用(如,带宽总量和接收/处理/响应无效请求所需的处理器),因此,把它和你的网络防火
墙与路由器集成起来以达到最大保护,是个好主意。
这个模块为每个监听器单独地初始化一个实例,因此它有内建的清理机制和缩放功能。由于这种针对每个
Apache Child的设计,合法的请求从来不受影响(甚至是从代理和NAT地址),而仅仅针对脚本攻击。即使用户
重复地点击“刷新”也应该不受影响,除非他们不怀好意。mod_dosevasive完全通过Apache配置文件来配置,
很容易集成到你的web服务器上。
Plack::Middleware::AddDefaultCharset is a port of the
AddDefaultCharset configuration directive of the Apache HTTP server.
This is a very small (7 Kb) HTTP server. It runs from inetd, which means
its performance is poor. But for low-traffic sites, it's quite adequate.
It implements all the basic features of an HTTP server.
Net::Groonga::HTTP is a client library for Groonga http server.
Groonga is a fast full text search engine. Please look
http://groonga.org/.
Mod_python allows embedding Python within the Apache http server
for a considerable boost in performance and added flexibility
in designing web based applications.