"Go" recommends several small Web server programs

Source: Internet
Author: User
Tags comparison table small web server

Original Blog Address: http://blog.csdn.net/heiyeshuwu/article/details/1753900

Accidentally see a few small and interesting web server programs, feel the need to share, so that everyone in addition to know Apache, IIS, there are more interesting choices. The main introduction: MICRO_HTTPD, MINI_HTTPD, thttpd, LIGHTTPD, SHTTPD and other small and easy to use httpd.

"Micro_httpd-really Small HTTP Server"

Characteristics:
* Support for Secure: Parent Directory Filtering
* Support for Universal MIME types
* Support for simple catalogs
* Support Directory List
* Support using index.html as homepage
* Trailing-slash Redirection
* Program total code only more than 200 lines

This httpd is suitable for learning simple Web server writing learning, because it only has a simple framework that can handle simple static pages and can be considered for static pages.

Official address: http://www.acme.com/software/micro_httpd/
: http://www.acme.com/software/micro_httpd/micro_httpd_12dec2005.tar.gz


"Mini_httpd-small HTTP Server"

Characteristics:
* Support, POST method
* Support CGI feature
* Support Basic Authentication function
* Support security: Parent Directory Features
* Support for Universal MIME types
* Support Directory list function
* Support using index.html, index.htm, index.cgi as homepage
* Virtual hosts that support multiple root directories
* Supports standard logging
* Support Custom error page
* Trailing-slash Redirection

MINI_HTTPD is also relatively suitable for learning to use, the general realization of a Web server function, support static pages and CGI, can be used to place some personal simple things, not suitable for production use.

Official address: http://www.acme.com/software/thttpd/
: http://www.acme.com/software/mini_httpd/mini_httpd-1.19.tar.gz

"Thttpd-tiny/turbo/throttling HTTP Server"

THTTPD is a simple, small, lightweight, fast and secure HTTP server.

Simple: It can support the http/1.1 protocol standard, or exceed the minimum level
Compact: It has very little running time because it does not fork the child process to accept new requests, and allocates memory with great care (performance comparison table: http://www.acme.com/software/thttpd/benchmarks.html)
Portable: It can run on most Unix-like systems, including FreeBSD, SunOS 4, Solaris 2, Bsd/os, Linux, OSF, etc.
Fast: It's faster than the mainstream Web server (Apache, NCSA, Netscape), and it's much faster in high load situations
Security: It strives to protect the host from attack without disrupting the server

THTTPD is similar to lighttpd, and instead of using fork () to derive child process processing for concurrent requests, it is implemented using multiplexing (multiplex) technology. So the performance is very good. It also features a URL-based file traffic limit, which is very convenient for download traffic control. Like Apache, you have to use plug-ins to achieve less efficiency than thttpd.
thttpd similar to LIGHTTPD, suitable for static resource class services, compared to tablets, resource files, static HTML, and so on, the performance should be better, but also suitable for simple CGI application occasions.

Official address: http://www.acme.com/software/thttpd/
: http://www.acme.com/software/thttpd/thttpd-2.25b.tar.gz

"Lighttpd-light footprint + httpd = lighttpd"

LIGHTTPD is a German-led open source software whose fundamental purpose is to provide a secure, fast, compatible, and flexible Web server environment dedicated to high-performance websites. It has very low memory overhead, low CPU usage, good performance, and rich module features.

LIGHTTPD is one of the best in many opensource lightweight Web servers. Support FastCGI, CGI, Auth, export compression (output compress), url rewriting, alias and other important functions, and Apache is popular, very much because of the rich features, in the lighttpd a lot of features have been implemented accordingly, This is important for Apache users, because migrating to LIGHTTPD has to face these problems.

Practical lighttpd really good, Apache main problem is dense concurrency, continuous fork () and switching, as well as high (relative to lighttpd) memory consumption, so that the system's resources are exhausted. The LIGHTTPD uses the multiplex technology, the code is optimized, the volume is very small, the resource occupies very low, and the reaction speed is quite fast.

Using the Apache rewrite technology, the heavy cgi/fastcgi task to lighttpd to complete, take full advantage of the two advantages, now the load of the server dropped an order of magnitude, and the response speed has been increased by one or even 2 orders of magnitude!

LIGHTTPD is suitable for static resource class services, compared to tablets, resource files, static HTML, and so on, the performance should be better, but also suitable for simple CGI application occasions.


Official address: http://www.lighttpd.net/
: http://www.lighttpd.net/download/lighttpd-1.4.16.tar.gz


"Shttpd-simple HTTPD"

SHTTPD is another lightweight Web server that has richer features than THTTPD, supports CGI, SSL, cookies, MD5 authentication, and can embed (embedded) into existing software. The most interesting is that no configuration files are needed! Because SHTTPD can embed other software, it can be very easy to develop the embedded system Web server, the official website says SHTTPD if using UCLIBC/DIELIBC (a simplified subset of LIBC) the overhead will be very very low.

Characteristics:
* Small, fast, non-expandable, no installation, simple 40KB exe file, free to run
* Support GET, POST, HEAD, PUT, DELETE and other methods
* Support CGI, SSL, SSI, MD5 authentication, resumed download, aliases, inetd mode operation
* Standard log format
* Very simple and neat embedded API
* DIETLIBC friendly. Not, friendly to the UCLIBC (*)
* Easy to customize run on any platform: Windows, QNX, RTEMS, UNIX (*bsd, Solaris, Linux)


Since shttpd can be easily embedded in other programs, SHTTPD is the ideal prototype for Web server development, and developers can develop their own webserver! based on SHTTPD.


Official website: http://shttpd.sourceforge.net/
: http://jaist.dl.sourceforge.net/sourceforge/shttpd/shttpd-1.38.tar.gz

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.