Shortly after the release of version 1.20, (Current version is 2.40) David Singer at IBM - Almaden modified the original filter script, adding very basic support for HTTP file requests. These modifications enabled GoServe to function as both a gopher server and a HTTP/0.9 server simultaneously.
When I finally got around to it, I sat down and came up with the original GoHTTP code -- I merely extended the HTTP/0.9 modified gopher filter to support several of the major HTTP/1.0 functions that are widely used in the WWW community, namely support for Content-typing, imagemap processing and external scripts.
The GoServe version 2.00 package was released with a zip archive called GoHTTP.zip, which contains a REXX filter that Mike Cowlishaw has rewritten to provide a very basic level of HTTP/1.0 support. This filter handles Content-typing of outbound files in the HTTP/1.0 format. It also provides a rudimentary example of a specifically written graphical mapping procedure, as well as rudimentary text search and authorization procedures. The GoHTTP package that ships with GoServe v2.x does not, however, provide full support for imagemaps & forms.
Recently, I've taken Mike's new sample script, modified several of his procedures to perform better, and added the imagemap functionality from my original GoHTTP filter script. In addition, based on a number of cautions & pointers from Mike, I totally rewrote the CGI support from my original implementation to work around some problem areas that had been identified in them. In the process, I was able to achieve full CGI/1.1 compatibility. (However, most of the credit must go to Mike for modifying GoServe to accomodate POST method URL requests...)
Finally, I gradually made modifications to improve configurability and flexibility, and increase functionality by adding several additional features. For a better idea of what features and capabilities the current version of the GoHTTP filter provides, check out the 'Description'.