Author: Venkata N. Padmanabhan (supervised by Jeffrey C. Mogul) --------------------------------------------------------------- This Mosaic browser is a result of modifications made to the NCSA Mosaic v.2.4 browser to incorporate the ideas of persistent connections and new primitives into HTTP. These ideas are discussed in some detail in our WWW Fall '94 paper (URL http://www.cs.berkeley.edu/~padmanab/papers/www_fall94.ps) and in the README files for the accompanying server. Organization of the code ------------------------ This directory is the root of the source tree. ./src: Contains the source files, including the main program ./libwww2, ~/libXmx, ~/libdtm, ~/libhtmlw, ~/libnet: contain sources for various libraries. The makefiles are ./dec_makefile (for DEC MIPS running ULTRIX) and ./alpha_makefile (for DEC AXP running OSF). These are modified versions of ~/Makefile., the original NCSA makefiles. Where major changes have been made ---------------------------------- 1. In the directory ./libwww2, in particular the files HTTP.c, HTFormat.c, and HTTCP.c, to support persistent connections and pipelining of requests. 2. In the directory ./libhtmlw. Compilation ----------- To compile, just type "make -f _makefile" in ./ The executable will be: ~/src/Mosaic Note: 1. The ./include and ./lib directories (such as those for Xm) can used to place header and library files which are not present in usual place on the system you are trying to compile on. 2. Depending on your compiler, you will have to set $sysconfiflags to -D__STDC__ or turn it off. Running Mosaic -------------- In ./src, type: ./Mosaic [URL] [-silent] [-old ] [-new ] [-port ] [-disable] [-slowftp] -silent: suppresses printing of timing information -old, -new, -port: allow you to specify that references to should be replaced by references to , -disable: Disable GETALL/GETLIST (long-lived connections are maintained) -slowftp: Do FTP without caching control connections Example: Mosaic http://nsl.pa/wrl -silent -old nsl -new shyam.pa.dec.com -port 7634 Any URLs that refer to the host 'nsl' will be translated into references to the host 'shyam.pa.dec.com' on port 7634. This feature allows one to run a modified httpd (the companion to this Mosaic browser) to serve the same Web documents as an existing server, while not requiring changes the URLs in these documents that are hard-coded to refer to the old server. We specify the as just "nsl" rather than something like nsl.pa.dec.com because then the aliasing scheme (hack!) will *not* match URL references(inside documents) which only specify part of the name (exmaple, nsl.pa). Note: 1. Mosaic will print out some warnings about X Toolkit stuff. These have been inherited from the NCSA Mosiac code I used and I haven't really looked into them. 2. Specify the URL first and then the options (if any), in that order. Otherwise Mosaic will wrongly interpret the option as the URL and complain. FTP changes ----------- One other feature of this browser is that it caches the control connection of FTP, thereby avoiding repeated pauses while brosing through an FTP tree. This feature does not require any server changes. Changed or added source modules: -------------------------------- libwww2/HTMLCache.h libhtmlw/HTML.c libhtmlw/HTML.h libhtmlw/HTMLformat.c libwww2/HTFTP.c libwww2/HTFormat.c libwww2/HTFormat.h libwww2/HTMIME.c libwww2/HTMIME.h libwww2/HTTCP.c libwww2/HTTP.c libwww2/HTTP.h libwww2/Makefile src/Makefile src/gui-documents.c src/gui-menubar.c src/gui.c src/img.c src/mosaic.h