Marc Salamon's Explanation of the Web

In the general case, you have a fully functional set of clients whose user interfaces are appropriate to the platform (computer type) on which they are run. Integral to these clients, there are modules that can speak several protocols. The most used one for the World Wide Web--which is the encompassed by the clients, protocols and servers below operating on a Web of HTML (HyperText Markup Language) documents--is HTTP. Every WWW client must at least speak HTTP or it is not a WWW client.

CLIENTS                       PROTOCOLS                         SERVERS
--------------------------------------------------------------------------
Mosaic      \                                         H  /   ncsa_httpd
  X11        \                                        T /    plexus
  Windows     \      HTTP - HyperTextTransferProtocol T \    cern httpd
  Mac          \                                      P  \   mac httpd
                \                                     D
Lynx            /    FTP - File Transfer Protocol          ftpd
MidasWWW       /     Gopher                                gopherd
Cello         /      NNTP - NetNewsTransferProtocol        innd
ViolaWWW     /       Telnet                                telnetd
MacWeb      /
--------------------------------------------------------------------------
As you can see, the various Mosaics are one of many different clients available. Mosaic is a proper noun, so applying it to the server side of things is clearly incorrect. Web is not a proper noun, so applying the term "web server" to any of the servers mentioned on the right is not incorrect, but not especially informative, either since most all internet information servers are handled by WWW browsers (clients, above).

Another strategy, as I understand it, is to lighten the load of the client side, as many people are running on Mac/PC-sized boxes with limited memory and bandwidth. This is to be accomplished by the implementation of a proxy server. In this case, the client is only outfitted with HTTP client communications software, and it connects to a server that is well versed in the rest of the web protocols. I have not seen this work, but saw an explanation of it at a conference a few months ago.

CLIENTS*           HTTP PROTOCOL      PROXY SERVER        SERVERS
--------------------------------------------------------------------------
Mosaic      \                     |                    /   ncsa_httpd
  X11        \                    |                   /    plexus
  Windows     \                   |   Ext. HTTP       \    cern httpd
  Mac          \                  |                    \   mac httpd
                \                 |    
Lynx            /   HTTP          |    FTP                 ftpd
MidasWWW       /                  |    Gopher              gopherd
Cello         /                   |    NNTP                innd
ViolaWWW     /                    |    Telnet              telnetd
MacWeb      /                     |
--------------------------------------------------------------------------
* Clients modified to speak only HTTP
Mosaic is a Good First (widely distributed and used) Step in the implementation of a truly distributed networked information system, but it is not the be all and end all of WWW clients. From the point of view of the critical cynic (as all good programmers should be), I think that the supersession of Mosaic by another not-for-profit freely-source-distributable graphical WWW client would be the best thing that could happen to the WWW at large, as it would divorce from Mosaic the status as the be-all and end-all of the WWW AND would diversify the field of options for webbers.

From a 7 Jul 1994 posting to Web4Lib@library.berkeley.edu by Marc Salomon (marc@library.ucsf.edu), Innovative Software Systems Group, UCSF Center for Knowledge Management