WN Web Server May Be Basic but It's Highly Functional
June 25, 2002
WN is a Web server that runs on a
wide variety of UNIX platforms and is freely available at no cost for any use
under the terms of the ever-famous GNU
General Public License. It provides
support for two major standards in web servers today, HTTP/1.1 and CGI/1.1, both
of which have come to be the most popular and widely used today. And while WN
development happens slowly, many smaller businesses and academic institutions
will find that WN is a capable and basic Web server.
WN takes a different approach to the typical HTTP serving that youll see in Apache and IIS. Most servers base the content of a file, and therefore how it's served, based upon its file extension. For example, if a HTML-coded document were to be named "html.txt" it would be served as text. We do not imply that the determination of how a file is viewed by the end user is solely based upon the server; it in fact also falls on the shoulder of the client web browser. Instead of basing the file type on the file extension, WN makes use of small databases in each sub directory to determine exactly which type of a file a file actually is. This database is known to the file system as index.cache. This file is very important to WN; in fact, it simply will not serve files without its existence.
That file is the basis of WN security. If in that file, WN find the line file=page.html, then page.html in that subdirectory is allowed to be served. If it doesnt find such a file entry, page.html is not going to be served. By default, WN does not serve files unless specifically instructed to by the index.cache file. Security by minimization rather than security by authorization has been shown through out time to be a great asset. If malicious users can't see it, they won't know what to hack.
The index files are rather complicated in the number of configuration options. An administrator can create them by hand if they so choose, but WN provides a utility called wndex that will create the database for an administrator based upon file extensions and file headers.
Because of this database, searching the website is very easy. In fact, one of the primary goals of WN is to create an easy to search website. End users can search for data in many different ways, in many different portions of the files.
WN also has substantial abilities for Server Side Includes. These abilities provide the administrator with an easy way to prefix of postfix any file with a standard data, such as the navigation bars and title of a web page, or copyright information. Not surprisingly, the Server Side Include information is stored in the magical index.cache file in each subdirectory. If this one file were to somehow corrupt, the damage would be catastrophic; it is a major point of failure.
WN also supports filters, which provide the ability to have a program read the file being input from the client and serve its output. The filter information is once again stored in the index.cache database. An example of filters that the Northwestern Math Department provides is the ability to store a compressed file on disk, but yet have the uncompressed version served to the end user.
WN was one of the original Web servers. It's not one of the fanciest Web servers available, but combine its record of stability with its decent security features, and you've got a Web server worth evaluating.
Pros: Quick searching, Decent security
Cons: index.cache file is a major point of failure