Almost anyone who has used a computer for very long learns about bloat. From operating systems to applications, one thing is sure: the new version will take up more drive space than the last. And there are no guarantees that the new version will be faster. In fact, the more bloated and feature-ridden a software package becomes, the more cumbersome and sluggish it is likely to become. "Feeping creaturism." (That's "creeping featurism" for those of you without your glasses.) I'm not saying that new features are all bad. Hey, I use Apache, and I've watched it grow from the first collection of patches ("a patchy server" == "Apache server") to NCSA's server into the amazing feature rich open source giant it is today. The giant does many things well, and I'm glad of it. There is an elegance, however, to code that's small, quick, fast, and light on its feet. And there's often an accompanying speed increase. That is where thttpd comes into the picture. Jef Poskanzer(a.k.a. ACME Laboratories) wrote thttpd and shares it with the rest of us at his web site at www.acme.com. It is a full-fledged web server, written in C. And it's small, fast, simple, portable, and secure. The tiny/turbo/throttling httpd (thttpd) server's elegant simplicity packs an astounding number of features in a very small box, just over 7,000 lines of code. Features include: - Full CGI 1.1 compliance and compatibility
- Very tight CGI restrictions for the security conscious
- Fast
- Built-in ability to operate the server in a chroot() directory, another nice security feature
- Speedy
- Portable: it reportedly works under Linux, SunOS 4, Solaris 2, BSD/OS, OSF, and FreeBSD. (I know it works on FreeBSD since that's my own OS of choice).
- Basic authentication support (.htpasswd)
- Throttling: the ability to limit the byte rate(s) for a URL or a group of URLs, bandwidth control in the hands of the server administrator
- It's fast!!!
- Name-based and IP-based virtual hosting support
- MMAP caching of often-requested files
- Did I mention, it is FAST!?!?
That's a whole lot of wallop for such a tiny httpd server. While thttpd does not replace Apache, it does fill a niche. Ngenuity runs Apache and thttpd side-by-side serving up high-traffic web sites. Apache servers up the dynamic content, and thttpd quickly fetches the small, static files, like image files. This combination works extremely well. Randy Cosby of ngenuity stated: "We started hitting some bottlenecks on our Apache server with a number of modules installed. We tweaked, tuned and added memory, but were still running into occasional errors spawning CGI's. We realized we were wasting significant resources spawning new Apache processes just to serve up graphics. Our load averages have dropped significantly since we moved our graphics to thttpd. Apache is faster, and we haven't run into a single spawn error since. We probably just added a year onto the useful life of our server. An excellent investment!" So try it out. Hop on over to http://www.acme.com/ and give thttpd a try! | DISCLAIMER: The content provided in this article is not warranted or guaranteed by Developer Shed, Inc. The content provided is intended for entertainment and/or educational purposes in order to introduce to the reader key ideas, concepts, and/or product reviews. As such it is incumbent upon the reader to employ real-world tactics for security and implementation of best practices. We are not liable for any negative consequences that may result from implementing any information covered in our articles or tutorials. If this is a hardware review, it is not recommended to open and/or modify your hardware. |
More BrainDump Articles More By Dev Shed developerWorks - FREE Tools! | Hold your calendar on January 30, 2008 for this free webcast on the new i5/OS. Rational's Enterprise Modernization products will be discussed at this webcast as they help to drive the application development environment for this new System i OS. <br />And learn how i5/OS will take you to the next step of efficient, resilient business processing. You will hear about the new i5/OS capabilities as it will be the most significant i5/OS release in years. If you cannot join the webcast on 1/30/08 you can still use this link to listen to the replay.<br /> FREE! Go There Now!
| | | | This demonstration gives you an overview of IBM® Rational® Build Forge Express Edition, a global offering that provides a framework to automate and execute software processes. Rational Build Forge provides a software assembly line that can support all of your tools, technologies, and platforms so you can achieve a repeatable, reliable, and traceable build and release process. FREE! Go There Now!
| | | | CakePHP is a stable production-ready, rapid-development aid for building Web sites in PHP. This "Cook up Web sites fast with CakePHP" series shows you how to build an online product catalog using CakePHP. FREE! Go There Now!
| | | | Set up a PHP Web interface for the Java(TM) business application using a database created in earlier in this series. The PHP Web interface collects information from users and sends the session data to the Java business application for processing and for a response. FREE! Go There Now!
| | | | Visit IBM developerWorks to download IBM DB2 Express-C 9.5, a no-charge version of DB2 Express 9 database server. DB2 Express-C offers the same core data server base features as other DB2 Express editions and provides a solid base to build and deploy applications developed using C/C++, Java, .NET, PHP, and other programming languages. FREE! Go There Now!
| | | | You might know that you can pull XML data into OpenOffice's spreadsheet program, Calc, but did you know that you can create a filter to make word-processing documents out of data stored as XML? This tutorial shows you how to use OpenOffice's import/export filters to open your XML data as though it's just a plain document. From there, users can edit the document much more naturally and then save it back to its native format. You can also use this feature to easily turn your documents into XML data. FREE! Go There Now!
| | | | To create, test, and deploy a Web-based application or Web service rapidly, you need a proven relational database, a standards-compliant Web application server, and a flexible IDE. Ideally, all these software packages are production-tested, simple to obtain, easy to use, and well integrated with one another. This tutorial shows you how to use IBM-backed open source and free software to kick-start your Java Web-based application development. You'll learn exactly where to download such components, install them, and get them working for you today. FREE! Go There Now!
| | | | In this tutorial, Sean Walberg helps you prepare to take the Linux Professional Institute Senior Level Linux Professional (LPIC-3) exam. In this second in a series of six tutorials, Sean walks you through installing and configuring a Lightweight Directory Access Protocol (LDAP) server, and writing some Perl scripts to access the data. By the end of this tutorial, you'll know about LDAP server installation, configuration, and programming. FREE! Go There Now!
| | | | Join this Rational Talks to You teleconference on December 6 at 1:00 pm ET to participate in an agile application development discussion and get your questions answered on using IBM Rational Method Composer in a distributed environment.Get your questions answered! FREE! Go There Now!
| | | | The Eclipse community is constantly working to extend Eclipse's functionality. In this webcast, learn about some of the most important and feature-rich projects under development. From multi-language support to plug-in development, tune in to see what Eclipse is capable of now. FREE! Go There Now!
| | | | All FREE IBM® developerWorks Tools! | |