Joseph K. Myers

Monday, September 2, 2002

publicfile

This is not my software. For additional information, see http://cr.yp.to/publicfile.html.

I have modified the base distribution of publicfile-0.52, and created an experimental version using LF alone in place of all CRLF combinations.

There is no good reason, and in fact no reason at all (except a very stupid one, which I will mention), to use CRLF as a "linebreak sequence" instead of simply a sole linefeed character.

The single stupid reason why CRLF is used is because it was used before. The publicfile server is good enough, and simple enough, that I have used it as a head-runner for the improvement of our technology by the elimination of CRLF.

I have noted, with much disappointment, that many official implementations of HTTP/FTP do not work as they ought--in fact, Amaya, the W3C's official test-bed browser, crashes completely upon reception of the simplified HTTP headers.

Other changes are related to the "Server" header, which is eliminated, as well as file types, which differ as follows: .css and .gif are added, .jpeg is changed to .jpg, .mpeg and .dvi are deleted; also, .gz is corrected from application/x-gzip to application/gzip. All other files are delivered as text/plain (see further discussion in the notes below).

Download:

publicfile.tar.gz (36,450 bytes)

Notes:

Since publicfile contains its own mechanism for deliberate indications of file type, and since it never modifies a file stream in any case, it is not a serious issue whether or not the inexact indication of "text/plain" is given.

Of course, any kind of download may be labeled as such by a link, be published as a Gzip'ed version (.gz), or be provided through FTP. Likewise, any other kind file can be identified as necessary by its context--e.g., a .java file for an applet, or a .mov file for Quicktime. Both cases, that of a binary file being indicated as text, or a media file being improperly displayed, are thus easily solved.

The publicfile server fits the name HTTP better and more closely than Apache, and many others. HTTP is, not to mince words, a terrible protocol for every kind of application which HTML forms and CGI programs have been used. For the intention of hypertext publication, no server is superior to a simple one like publicfile.

http://www.myersdaily.org/joseph/unix/publicfile.txt