WORLD WIDE WEB FAQ _World Wide Web Frequently Asked Questions (With Answers, of Course!)_ Copyright 1994, 1995, 1996, Thomas Boutell and Boutell.Com, Inc. This document is available from many sites, and in several languages. _Please use the site closest to you in the language of your choice._ This FAQ consists of many files. By popular request, it is now available as an MSDOS .ZIP file, as a Unix compressed .tar file, and as a single, large text file. If you have trouble browsing HTML files offline under Windows, please see the relevant FAQ entry. Of course, to get the latest and greatest information, it is best to browse it right here on the web! Contents * About this document * Recent changes to the FAQ * Introduction to the World Wide Web * Obtaining and using web browsers * Establishing and using web servers * Authoring web pages, images and scripts * Other resources about the Web * Credits Overview of the World Wide Web Contents: * What is the Web? * What is a URL? * What are SGML and HTML? * How does the Web compare to Gopher and WAIS? * What is the W3 consortium? * How can I access the Web? * What is available through the web? * How do I find out what's new on the Web? * Where is the subject catalog of the Web? * How can I search through ALL web sites? * Can I catch a virus from a web page? * How can I find out when a web page has changed? * How do I publish on the Web? * Who uses the Web? * What is VRML? * What is Java? * What can I do to protect my legal rights on the web? Obtaining and using web browsers Contents: * Browsers accessible by telnet * Obtaining Amiga browsers * Obtaining Macintosh browsers * Obtaining MS-DOS (non-Windows) browsers * Obtaining NeXT browsers * Obtaining Unix and VMS browsers * Obtaining VM/CMS browsers * Obtaining Microsoft Windows and OS/2 browsers * Obtaining X Window System / DecWindows browsers * Obtaining Acorn RISCOS browsers * Obtaining batch-mode "browsers" * I can't get SLIP or PPP. I want web access. Is there a way? * Can I browse HTML files locally when I'm offline? * How can I access the Web through a firewall? * I'm running XMosaic. Why don't my external viewers work? * I have a Windows PC or a Mac. Why can't I access WAIS URLs? * How do I convert HTML to (plain ASCII, PostScript, other printable formats)? * How can I save an inline image to disk? * How can I send newsgroup posts in HTML to my web browser? * How can I get sound from the PC speaker with WinMosaic? Establishing and using web servers Contents: * Amiga servers * Macintosh servers * MS-DOS and Novell Netware servers * Unix servers * VM/CMS servers * VMS servers * IBM OS/2 Servers * Microsoft Windows NT and Windows 95 Servers * Microsoft Windows 3.1 Servers * Servers for Embedded Applications * Can I serve two domains from one server? * Comparison: which server is best? * How fast does my connection have to be? * How can I make my web site searchable? * How can I get my server to recognize both .htm and .html? * Do I have to approve every imagemap my users create? * Can I safely allow my users to run their own CGI scripts? * Can I lease space on an existing server? * How can I keep robots off my server? * How do I publicize my server? * How can I secure access to my server? * Can I prevent others from studying my HTML? * How can I keep statistics on my server? * How can I serve [Word documents, Excel spreadsheets...] through my server? Authoring web pages, images and scripts Contents: * Overview: how to create web documents * Writing HTML documents yourself * HTML editors * Converting other formats to HTML * Checking web pages for errors * How can I "include" one HTML document in another? * How can I include a "back" button in my web page? * How can I create a background and choose my own text colors? * Generating web pages from a program (CGI) * How can I keep "state" information between CGI calls? * How can I identify the user accessing my CGI script? * My CGI script doesn't work! What's wrong? * How can I keep my document from being cached? * How can users send me comments and/or email? * How can I create fill-out forms? * Are HTML 3.0 tables ready? Are there other options? * How can I use inline images without alienating my users? * Can I create animations in my web page? * How can I distribute audio through the web? * How can I generate inline images on the fly? * What is HTML 3.0? * How do I comment an HTML document? * How do I create clickable image maps? * How can I create transparent and interlaced GIFs? What are they? * Why do my transparent GIFs look (grainy, chunky, not so transparent)... * Which is better for the web, JPEG or GIF? * What is a progressive JPEG? How can I produce progressive JPEGs? * Can I lease space on an existing server? * Can I make a link that doesn't load a new page? * How can I redirect the browser to a new URL? * How can the user download binaries from my server? * How can I mirror part of another server? * Does mailto: work in all browsers? * How can I serve [Word documents, Excel spreadsheets...] through my server? * How do I publicize my work? * Hey, why can't I write a web-exploring robot? * Where can I get an access counter for my page? Other resources about the Web Contents: * Books about the Web * Mailing lists about the Web * Newsgroups about the Web * IRC channels about the Web (real-time chat) Credits ABOUT THE WORLD WIDE WEB FAQ The World Wide Web Frequently Asked Questions (FAQ) is intended to answer the most common questions about the web. The FAQ is maintained by by Thomas Boutell . Copyright 1994, 1995, 1996 by Thomas Boutell and Boutell.Com, Inc. The complete FAQ is available from several sites. If you can, you will want to access it through the web. Use the site closest to you in the language you prefer (non-English sites are marked); * Boutell.Com, Inc., western United States (North America): * DBasics Software Company, western United States (North America): * Compusult Inc., California, USA (North America): * Seton Hall University, eastern United States (North America): * United States Military Academy, West Point (North America): * Oxford University, UK (Europe): * Poznan University of Technology, Poznan, Poland (Europe, in Polish): * Poznan University of Technology, Poznan, Poland (Europe, in English): * New Software Technologies Service, Austria (Europe): * Astronomical Observatory of Padova, Italy (Europe): * University of Jan Evangelista Purkyne, Czech Republic (Europe): * University of Oviedo, Spain (Europe): * Glocom, Japan (Asia): * The University of Melbourne (Australia/Pacific): * Telstra Corporation, Australia (Australia/Pacific): * Internex Online, Toronto, Canada (North America): * Communications Vir, Montreal, Canada (North America): * Community Access Canada, University of New Brunswick, Canada (North America): * Island Internet, British Columbia, Canada (North America): * Acer Inc., Taipei, Taiwan (Asia, in Chinese): * Academia Sinica, Taipei, Taiwan (Asia): * Fraunhofer Institute for Computer Graphics, Darmstadt, Germany: * Mikomtek, CSIR (South Africa): * Michael Babcock at www.feldspar.com (Ontario, Canada): _________________________________________________________________ _World Wide Web FAQ_ RECENT CHANGES TO THE FAQ I have completed a book entitled "CGI Programming in C and Perl," which will be available on April 23rd, 1996. Writing this book caused some delays between FAQ updates. I hope you will find that the book is worth the wait. The ISBN is 0-201-93329-2. 4/11/96: * New Amiga browsers * New HTML editors * New books; section reorganized * New Web search facilities * New WWW newsgroup archives * More VM/CMS web servers * Statistics tools updated * New information about content types * New information about binary downloads * New Windows NT web servers * New Unix web servers * Servers for embedded systems * Protecting your legal rights on the Web * Assembling images on the fly on the Mac using clip2gif * Sources for backgrounds, icons, etc. * "What is on the web?" rewritten * Amiga browser updates * Teaching your server to treat .html and .htm alike * Using WIDTH and HEIGHT attributes to speed up images * Novell's official Netware web server product * Bandwidth section updated by Mike Meyer * Animation information * Numerous updated links * Many assorted updates _________________________________________________________________ _World Wide Web FAQ_ CREDITS Copyright 1994, 1995, 1996 by Thomas Boutell and Boutell.Com, Inc. Maintainer (11/93 to present): Thomas Boutell, __ Former Maintainer (until 11/93): Nathan Torkington, __ _________________________________________________________________ _World Wide Web FAQ_ WHAT ARE WWW, HYPERTEXT AND HYPERMEDIA? WWW stands for "World Wide Web." The WWW project, started by Tim Berners-Lee while at CERN (the European Laboratory for Particle Physics), seeks to build a "distributed hypermedia system." In practice, the web is a vast collection of interconnected documents, spanning the world. Tim Berners-Lee continues his pioneering work with the W3 Consortium at MIT. The advantage of hypertext is that in a hypertext document, if you want more information about a particular subject mentioned, you can usually "just click on it" to read further detail. In fact, documents can be and often are linked to other documents by completely different authors -- much like footnoting, but you can get the referenced document instantly! To access the web, you run a browser program. The browser reads documents, and can fetch documents from other sources. Information providers set up hypermedia servers which browsers can get documents from. The browsers can, in addition, access files by FTP, NNTP (the Internet news protocol), gopher and an ever-increasing range of other methods. On top of these, if the server has search capabilities, the browsers will permit searches of documents and databases. The documents that the browsers display are hypertext documents. Hypertext is text with pointers to other text. The browsers let you deal with the pointers in a transparent way -- select the pointer, and you are presented with the text that is pointed to. Hypermedia is a superset of hypertext -- it is any medium with pointers to other media. This means that browsers might not display a text file, but might display images or sound or animations. _________________________________________________________________ _World Wide Web FAQ_ WHAT IS A URL? URL stands for "Uniform Resource Locator". It is a draft standard for specifying an object on the Internet, such as a file or newsgroup. URLs look like this: (file: and ftp: URLs are synonymous.) * file://wuarchive.wustl.edu/mirrors/msdos/graphics/gifkit.zip * ftp://wuarchive.wustl.edu/mirrors * http://www.w3.org:80/default.html * news:alt.hypertext * telnet://dra.com The first part of the URL, before the colon, specifies the access method. The part of the URL after the colon is interpreted specific to the access method. In general, two slashes after the colon indicate a machine name (machine:port is also valid). When you are told to "check out this URL", what to do next depends on your browser; please check the help for your particular browser. For the line-mode browser at CERN, which you will quite possibly use first via telnet, the command to try a URL is "GO URL" (substitute the actual URL of course). In Lynx you just select the "GO" link on the first page you see; in graphical browsers, there's usually an "Open URL" option in the menus. _________________________________________________________________ _World Wide Web FAQ_ WHAT ARE SGML AND HTML? Documents on the World Wide Web are written in a simple "markup language" called HTML, which stands for Hypertext Markup Language. SGML is a much broader language which is used to define particular markup languages for particular purposes. HTML is just a specific application of SGML. You can learn more about SGML, and the rationale behind HTML, by reading A Gentle Introduction to SGML (URL is ), a document provided by the Text Encoding Initiative. _________________________________________________________________ _World Wide Web FAQ_ HOW DOES WWW COMPARE TO GOPHER AND WAIS? While all three of these information presentation systems are client-server based, they differ in terms of their model of data. In gopher, data is either a menu, a document, an index or a telnet connection. In WAIS, everything is an index and everything that is returned from the index is a document. In WWW, everything is a (possibly) hypertext document which may be searchable. In practice, this means that WWW can represent the gopher (a menu is a list of links, a gopher document is a hypertext document without links, searches are the same, telnet sessions are the same) and WAIS (a WAIS index is a searchable page, returning a document with no links) data models as well as providing extra functionality. World Wide Web usage grew far beyond Gopher usage in the last few months, according to the statistics-keepers of the Internet backbone. (Of course, World Wide Web browsers can also access Gopher servers, which inflates the numbers for the latter.) WWW has long since reached critical mass, with new commercial and noncommercial sites appearing daily. _________________________________________________________________ _World Wide Web FAQ_ WHAT IS THE W3 CONSORTIUM? The W3 consortium is an industry consortium headed by the Laboratory for Computer Science at the Massachusetts Institute of Technology. The W3 consortium seeks to promote standards and encourage interoperability between WWW products. See for more information. _________________________________________________________________ _World Wide Web FAQ_ INTRODUCTION: HOW CAN I ACCESS THE WEB? You have two basic options: use a browser on your own machine (the best option) or use a browser that can be telnetted to (not nearly as good, but possible). Web access by email is available, but very marginal. Note, however, that the traditional online services such as AOL, Prodigy, and Compuserve now offer web access of one degree or another as a standard feature. Real web access is finally easy to come by for all PC users, at least in North America. It is always best to run a browser on your own machine, unless you absolutely cannot do so; but feel free to telnet to a browser for your first look at the web, or use email if the telnet command does not work on your system (_try it first!_). Note that "your machine" can be defined as a system you dial into from home, such as netcom or another account provider. Running a text-based browser on such a system is still preferable to telnetting to a faraway site. Access to the web _by email_ is possible once again, but obtaining a better grade of Internet access that allows you to run a web browser is strongly encouraged. To use the service, send mail to webmail@curia.ucc.ie with "go http://www.boutell.com/faq/" in the body of your mail (don't type the quotation marks). You will receive the top page of the web version of this FAQ, which you can use as a starting point for your explorations. There is one low-tech solution: web by FAX! Consider the following information, submitted by Bill Stearns: If you have access to a fax machine, do the following: 1) Call 805-730-7777 from your fax machine. 2) Select number 2 (I have the document ID already) 3) Type in the document ID; for the above page, it's 17571, then press # (the pound symbol) 4) Press pound at the next prompt if you're calling from your fax machine, or enter the phone number of your fax machine and then press pound. 5) Wait for that page to come over, and then repeat the process with the 5 or 6 digit number in brackets next to the link you'd like to follow. A few other useful pages: 17581 800 number (toll-free) service providers 17582 The list of area codes - a good place to start as well if you're in the U.S. By the way, this free service is provided by Universal Access (http://www.ua.com/, document number 16968) and is not limited to just this directory. If you know the name of the machine hosting the web page you want to view, you can probably reach it through this service. You simply type in the name of the machine (www.teleport.com, for example) at menu option 3. When you've received the home page for the site, keep following the trail to the page you'd like. It takes a while and some long distance calls, but the service is otherwise free. My sincere thanks both to Universal Access and the Celestin company for providing these services. _________________________________________________________________ _World Wide Web FAQ_ WHAT IS ON THE WEB? _[Obscure technical answer deleted]_ By now, the Web is becoming a mainstream publishing medium in its own right. As such, virtually everything is available somewhere on the Web. Because it is cheaper to publish on the web than it is to publish on paper or in the other electronic media, a wide range of interests are represented. This is limited only by the fact that the population of the Internet is not yet as diverse as the population of the real world. Fortunately, that is changing as web access becomes more and more readily available. The real question is more often "how do I search the Web to find what I want?" or perhaps "where is the card catalog of the Web?". Those questions are also answered in this document. _________________________________________________________________ _World Wide Web FAQ_ HOW DO I FIND OUT WHAT'S NEW ON THE WEB? comp.infosystems.www.announce The newsgroup comp.infosystems.www.announce carries announcements of new resources on the World Wide Web. Since newsgroups are distributed, it can be accessed reliably even when the net is very busy. What's New With NCSA Mosaic The unofficial newspaper of the World Wide Web is What's New With NCSA Mosaic (URL is http://www.ncsa.uiuc.edu/SDG/Software/Mosaic/Docs/whats-new.htm l ), which carries announcements of new servers on the web and also of new web-related tools. This should be in your hot list if you're not using Mosaic (which can access it directly through the help menu). comp.internet.net-happinings You can also check out the newsgroup comp.internet.net-happenings, which carries WWW announcements and many other Internet-related announcements. _________________________________________________________________ _World Wide Web FAQ_ WHERE IS THE SUBJECT CATALOG OF THE WEB? There are several. There is no mechanism inherent in the web which forces the creation of a single catalog (although there is work underway on automatic mechanisms to catalog web sites). Also be sure to check out the entry on how to search the web. Yahoo (URL is ) is probably the most complete hierarchical, topical index of web sites, and also features a sophisticated search facility. The original catalog of the web was the WWW Virtual Library (URL is http://www.w3.org/hypertext/DataSources/bySubject/Overview.html ), maintained by CERN and later by the W3 Consortium. The Virtual Library is a good place to find resources on a particular subject, and has separate maintainers for many subject areas. _________________________________________________________________ _World Wide Web FAQ_ HOW CAN I SEARCH THROUGH ALL WEB SITES? Several people have written robots which create indexes of web sites -- including sites which have not arranged to be mentioned in the newspapers and catalogs above. (Before writing your own robot, please read the entry in the authoring section regarding robots.) Here are a few such automatic indexes you can search: Alta Vista (URL is ) is probably the most powerful web searching facility at this time, with an exhaustive database and the capability to search USENET newsgroups as well as web sites. The query language is also powerful. Yahoo (URL is ) is probably the most complete hierarchical, topical index of web sites, and also features a sophisticated search facility. Lycos (URL is ) is another web-indexing robot, which includes the ability to submit the URLs of your own documents by hand, ensuring that they are available for searching. WebCrawler (URL is ) builds an impressively complete index; on the other hand, since it indexes the content of documents, it may find many links that aren't exactly what you had in mind. However, it does a good job of sorting the documents it finds according to how closely they match your search. World Wide Web Worm (URL is http://www.cs.colorado.edu/home/mcbryan/WWWW.html ) builds its index based on page titles and URL contents only. This is somewhat less inclusive, but pages it finds are more likely to be an exact match with your needs. InfoSeek is a commercial search service which also offers a free web search facility . You can specify phrases to locate, among other query operations, and InfoSeek's commercial service can search more than just web pages (newsgroups, for instance). InfoSeek's commercial service charges 10 cents per query and offers a free trial to new users. (Increasing load on the free search servers makes this sound better every day.) OpenText (URL is ) also offers a robust web searching facility. You can read about other search robots and the principles behind them in the robots section. _________________________________________________________________ _World Wide Web FAQ_ CAN I CATCH A VIRUS BY LOOKING AT A WEB PAGE? _No._ Your computer can, of course, catch a virus if you download an executable program from an untrustworthy site and then, of your own free will, double-click on it in your file manager (or Mac desktop, or...). This is the same risk you run when downloading programs from bulletin board systems or via anonymous FTP. Viewing images, filling out forms and so on is harmless. So, most likely, is downloading a program from a respectable source with a reputation to protect. _________________________________________________________________ _World Wide Web FAQ_ HOW CAN I FIND OUT IF A WEB PAGE HAS BEEN UPDATED? Most of the time, web servers deliver information only when you ask for it. Usually this is a good thing, but in some cases you may want to be notified when a web page has changed. When you want notification that a page has changed, consider using URL-minder (URL is ), a web-browsing robot which will automatically notify you by email when a page of interest to you has been updated. _________________________________________________________________ _World Wide Web FAQ_ HOW CAN I PROVIDE INFORMATION TO THE WEB? Information providers run programs that the browsers can obtain hypertext from. These programs can either be WWW servers that understand the HyperText Transfer Protocol HTTP (best if you are creating your information database from scratch), "gateway" programs that convert an existing information format to hypertext, or a non-HTTP server that WWW browsers can access -- anonymous FTP or gopher, for example. To learn more about World Wide Web servers, see the server section. You can also consult a www server primer by Nathan Torkington, available at the URL http://www.vuw.ac.nz/who/Nathan.Torkington/ideas/www-servers.html . If you only want to provide information to local users, placing your information in local files is also an option. This means, however, that there can be no off-machine access. _________________________________________________________________ _World Wide Web FAQ_ WHO USES THE WEB? Good question! The web is certainly biased toward the thirtyish, anglo-saxon, male and technology-friendly crowd at this point, but there's more to the story; the demographics of the web are changing rapidly as the user base grows. The GVU WWW User Survey (URL is ) attempts to answer the question in detail. You can access the results of past surveys and contribute information of your own. _________________________________________________________________ _World Wide Web FAQ_ WHAT IS VRML? VRML, the Virtual Reality Modeling Language, is an attempt to extend the web into the domain of three-dimensional graphics. VRML "worlds" can depict realistic or otherworldly places, which can contain objects that link to other documents or VRML worlds on the web. For more information about VRML, including where to find browsers and other VRML tools for your system, consult the VRML Home Page at Wired (URL is ) for general technical information about the effort, and the WebSpace home page at SGI (URL is ) for the first VRML viewer to become available. You may also wish to check out the home page of VRWeb , another VRML browser available for Microsoft Windows and the X Window System. _________________________________________________________________ _World Wide Web FAQ_ WHAT IS JAVA? Java is a language developed by Sun Microsystems which allows World Wide Web pages to contain code that is executed on the browser. Because Java is based on a single "virtual machine" that all implementations of java emulate, it is possible for Java programs to run on any system which has a version of Java. It is also possible for the "virtual machine" emulator to make sure that Java programs downloaded through the web do not attempt to do unauthorized things. Actually, Java can be used in the absence of the web, but the application that has sparked so much interest in Java is HotJava, a web browser written in the Java language. You can learn more about Java and HotJava from Sun's HotJava home page (URL is ). _________________________________________________________________ _World Wide Web FAQ_ WHAT CAN I DO TO PROTECT MY LEGAL RIGHTS ON THE WEB? This question is analyzed in admirable detail by the Weblaw Page . _Disclaimer:_ Neither that page nor this FAQ constitutes legal advice. _________________________________________________________________ _World Wide Web FAQ_ BROWSERS ACCESSIBLE BY TELNET An up-to-date list of these is available on the Web as http://www.w3.org/hypertext/WWW/FAQ/Bootstrap.html and should be regarded as an authoritative list. telnet.w3.org A telnettable browser provided by the W3 coalition. www.cc.ukans.edu Offers Lynx, a full screen browser which requires a vt100 terminal. Log in as www. Does not allow users to "go" to arbitrary URLs, so GET YOUR OWN COPY of Lynx and install it on your system if your administrator has not done so already. Lynx is the best plain-text browser, so move mountains if necessary to get your own copy of Lynx! www.njit.edu (or telnet 128.235.163.2) Log in as www. A full-screen browser in New Jersey Institute of Technology. USA. www.huji.ac.il A dual-language Hebrew/English database, with links to the rest of the world. The line mode browser, plus extra features. Log in as www. Hebrew University of Jerusalem, Israel. info.funet.fi (or telnet 128.214.6.102). Log in as www. Offers several browsers, including Lynx. fserv.kfki.hu Hungary. Has slow link, use from nearby. Login is as www. _________________________________________________________________ _World Wide Web FAQ_ AMIGA BROWSERS IBrowse An AmigaOS browser that supports many Netscape extensions to HTML, as well as forms and progressive image rendering. This browser is a new, commercial browser from the authors of the Amiga Mosaic port (see below). AMosaic Browser for AmigaOS, based on NCSA's Mosaic. Supports older Amigas as well as the newer machines in the latest versions. Supports frames as well. See . See also the FAQ available at . Amiga Lynx An Amiga version of the Lynx text-based browser. See . Emacs w3-mode A WWW browser for emacs. Runs under Gnu Emacs on the Amiga. Has fonts, color, inline images, and mouse support if using Lemacs, Epoch, or Emacs 19. Available by anonymous ftp from ftp.cs.indiana.edu in the directory pub/elisp/w3. _________________________________________________________________ _World Wide Web FAQ_ MACINTOSH BROWSERS NOTE: These browsers require that you have SLIP, PPP or other TCP/IP networking on your PC. SLIP or PPP can be accomplished over phone lines. You can do this one of two ways: using a proper SLIP account, which requires the active cooperation of your network provider or educational institution (see Frank Hecker's guide to SLIP and PPP access; URL is ; ), or using The Internet Adapter or SLiRP, products which simulate SLIP through your dialup Unix shell account. If you only have non-Unix based dialup shell access, or have no PC at home, your best option at this time is to run Lynx on the VMS (or Unix, or...) system you call, or telnet to a browser if you cannot do so. NCSA Mosaic for Macintosh From NCSA. Full featured. Available by anonymous FTP from ftp.ncsa.uiuc.edu in the directory Mac/Mosaic. Netscape From Netscape Communications Corp (URL is: ). Netscape has consistently released new features first. Version 2.0 supports custom "applets" written in the programming language Java, as well as new HTML features such as frames (displaying more than one document in the same browser window). Netscape also has strong table support, in addition to many extensions to HTML, not all of which conform to the proposed standard. Netscape is a commercial product but can be evaluated free of charge for 90 days by individuals. The 16-bit version works under both OS/2 and Windows. Available by anonymous FTP from ftp.netscape.com in the netscape subdirectory. See Netscape's web site for information about mirror sites. MacWeb From EINet. Has features that Mosaic lacks; lacks some features that Mosaic has. Available by anonymous FTP from ftp.einet.net in the directory einet/mac/macweb. Enhanced Mosaic Enhanced Mosaic, from Spyglass, Incorporated, is the commercial version of NCSA Mosaic. Spyglass does sell the browser directly to the public, although you can download an evaluation version to try it out; instead, they seek to license it to various OEMs. You can learn more about their licensing arrangements and the existing licensees from the Spyglass home page (URL is ). _________________________________________________________________ _World Wide Web FAQ_ MSDOS BROWSERS NOTE: These browsers require that you have SLIP, PPP or other TCP/IP networking on your PC. SLIP or PPP can be accomplished over phone lines. You can do this one of two ways: using a proper SLIP account, which requires the active cooperation of your network provider or educational institution, or using The Internet Adapter or SLiRP, products which simulate SLIP through your dialup Unix shell account. If you only have non-Unix based dialup shell access, or have no PC at home, your best option at this time is to run Lynx on the VMS (or Unix, or...) system you call, or telnet to a browser if you cannot do so. DosLynx DosLynx is an excellent text-based browser for use on DOS systems. You must have a level 1 packet driver, or an emulation thereof, or you will only be able to browse local files; essentially, if your PC has an Ethernet connection, or you have SLIP, you should be able to use it. DosLynx can view GIF images, but not when they are inline images (as of this writing). See the README.HTM file at the DosLynx site for details. You can obtain DosLynx by anonymous FTP from ftp2.cc.ukans.edu in the directory pub/WWW/DosLynx; the URL is ftp://ftp2.cc.ukans.edu/pub/WWW/DosLynx/. Minuet An all-in-one Internet access package for MSDOS. Includes both text-mode and graphics-mode display. Available by anonymous FTP from minuet.micro.umn.edu in the directory pub/minuet/latest/minuarc.exe. _________________________________________________________________ _World Wide Web FAQ_ NEXTSTEP BROWSERS Note: NeXTStep systems can also run X-based browsers using one of the widely used X server products for the NeXT. The browsers listed here, by contrast, are native NeXTStep applications. SpiderWoman A multithreaded, graphical browser for NeXTStep. Available by anonymous FTP from sente.epfl.ch in the directory pub/software (URL is ). Netsurfer Another true NeXTStep browser. Available by anonymous FTP from ftp.thoughtport.com in the directory /pub/next/netsurfer (URL is ). OmniWeb A World Wide Web browser for NeXTStep. The URL for more information is http://www.omnigroup.com/; you can ftp the package from ftp.omnigroup.com in the /pub/software/ directory. WorldWideWeb, CERN's NeXT Browser-Editor A browser/editor for NeXTStep. _Currently out of date; editor not operational._ Allows wysiwyg hypertext editing. Requires NeXTStep 3.0. Available for anonymous FTP from ftp.w3.org in the directory /pub/www/src. Emacs w3-mode A WWW browser for emacs. Runs under Xwindows, NeXTstep, VMS, OS/2, Windows NT, Windows 3.1, AmigaDOS, or just about any Unix system. Also has fonts, color, inline images, and mouse support if using Lemacs, Epoch, or Emacs 19. Also works in local mode under DOS and on the Macintosh. Available by anonymous ftp from ftp.cs.indiana.edu in the directory pub/elisp/w3. _________________________________________________________________ _World Wide Web FAQ_ TEXT-MODE UNIX AND VMS BROWSERS These are text-based browsers for Unix (and in some cases also VMS) systems. In many cases your system administrator will have already installed one or more of these packages; check before compiling your own copy. Line Mode Browser This program gives W3 readership to anyone with a dumb terminal. A general purpose information retrieval tool. Available by anonymous ftp from www.w3.org in the directory /pub/www/src. The "Lynx" full screen browser This is a hypertext browser for vt100s using full screen, arrow keys, highlighting, etc. Available by anonymous FTP from ftp2.cc.ukans.edu. Tom Fine's perlWWW A tty-based browser written in perl. Available by anonymous FTP from archive.cis.ohio-state.edu in the directory pub/w3browser as the file w3browser-0.1.shar. For VMS Dudu Rashty's full screen client based on VMS's SMG screen management routines. Available by anonymous FTP from vms.huji.ac.il in the directory www/www_client. Emacs w3-mode A WWW browser for emacs. Runs under Xwindows, NeXTstep, VMS, OS/2, Windows NT, Windows 3.1, AmigaDOS, or just about any Unix system. Also has fonts, color, inline images, and mouse support if using Lemacs, Epoch, or Emacs 19. Also works in local mode under DOS and on the Macintosh. Available by anonymous ftp from ftp.cs.indiana.edu in the directory pub/elisp/w3. _________________________________________________________________ _World Wide Web FAQ_ VM/CMS BROWSERS Albert A WWW browser for the VM/CMS operating system. Available by anonymous FTP from ftp.nerdc.ufl.edu in the directory pub/vm/www/. Charlotte A full-screen VM/CMS browser written in REXX, Pipelines and REXX Sockets which runs without changes on any version of CMS from 5 to 11. (URL is ). _________________________________________________________________ _World Wide Web FAQ_ MICROSOFT WINDOWS BROWSERS NOTE: Most of these browsers require that you have SLIP, PPP or other TCP/IP networking on your PC. The exceptions are SlipKnot and I-COMM, which have slightly more limited features but operate without a proper Internet connection. SLIP or PPP can be accomplished over phone lines. You can do this one of two ways: using a proper SLIP account, which requires the active cooperation of your network provider or educational institution (see Frank Hecker's guide to SLIP and PPP access; URL is ), or by using The Internet Adapter or SLiRP, products which simulate SLIP through your dialup Unix shell account. Another product, TwinSock at , provides equivalent functionality under Windows using its own proxy protocol. If you only have non-Unix based dialup shell access, or have no PC at home, your best option at this time is to run Lynx on the VMS (or Unix, or...) system you call, or telnet to a browser if you cannot do so. Mosaic for Windows From NCSA. Available by anonymous FTP from ftp.ncsa.uiuc.edu in the directory PC/Windows/Mosaic, or learn more about it on the web: The latest versions of WinMosaic support innovative features such as "AutoSurf", which can automatically retrieve documents related to the current document to save download time. Netscape From Netscape Communications Corp (URL is: ). Netscape has consistently released new features first. Version 2.0 supports custom "applets" written in the programming language Java, as well as new HTML features such as frames (displaying more than one document in the same browser window). Netscape also has strong table support, in addition to many extensions to HTML, not all of which conform to the proposed standard. Netscape is a commercial product but can be evaluated free of charge for 90 days by individuals. The 16-bit version works under both OS/2 and Windows. Available by anonymous FTP from ftp.netscape.com in the netscape subdirectory. See Netscape's web site for information about mirror sites. Quarterdeck Mosaic From Quarterdeck. Supports incremental image loading, forms, new HTML extensions and other modern web browser features. Includes Internet connectivity software and advanced history-keeping features, as well as private annotations of web pages. A 30-day evaluation copy is available on the web . Compuserve Mosaic From Compuserve (Spry is now part of Compuserve). Works under Windows and OS/2. Supports the mailto: URL, transparent GIFs, ALT tags, hierarchical hotlists, progressive image rendering, and so forth. Internet Explorer , from Microsoft. Supports incremental image loading, forms, HTTP keep-alive, tables (in the latest betas as of this writing), and many Netscape extensions and unique Microsoft extensions to HTML. Internetworks From Internetworks, formerly (?) Booklink. Available by anonymous FTP from ftp.booklink.com in the directory lite; this is a demonstration version of the full browser, which costs $99. Booklink can open many simultaneous connections in different windows and display images and pages progressively; at the time of this writing it is the only browser to equal Netscape in this area. The "lite" version can only open two simultaneous connections, however. SlipKnot SlipKnot is a graphical WWW browser that operates entirely without SLIP, PPP, an Ethernet connection, or special server-side software (but read the SLIP emulator section for another workaround). SlipKnot features the ability to automatically retrieve all documents linked to by the current document while the current document is being read. SlipKnot supports multiple fonts, inline images, forms, and review of documents you have already received while new documents arrive. SlipKnot can also download "nearby" documents in advance to save download time. Like I-COMM, SlipKnot operates entirely through a Unix shell account, not over TCP/IP. SlipKnot does _not_ require that you install any new software on your Unix shell account. You can obtain SlipKnot by anonymous FTP from oak.oakland.edu in the directory SimTel/win3/internet. For more information, see the SlipKnot information page (URL is http://www.interport.net/slipknot/slipknot.html ) or send a blank email message to slipknot@micromind.com. I-COMM I-COMM, like SlipKnot, operates without a true TCP/IP connection. It requires a Unix shell account, like SlipKnot, or a VMS shell account, a feature unique to I-COMM. I-COMM also features Zmodem file transfers in both directions and complete support for forms. I-COMM is available for evaluation as shareware (URL is ). IBM OS/2 WebExplorer A native IBM OS/2 web browser. WebExplorer is a multithreaded application and, in addition to the usual "back" and "forward" buttons, features a visual map of your exploration of the web. The software supports progressive image rendering. IBM WebExplorer can be acquired by anonymous FTP from ftp01.ny.us.ibm.net in the directory pub/WebExplorer/ . WebSurfer Included with the Chameleon TCP/IP software package from Netmanage, Inc. Reputedly functional and straightforward. Emacs w3-mode A WWW browser for emacs. Runs under Xwindows, NeXTstep, VMS, OS/2, Windows NT, Windows 3.1, AmigaDOS, or just about any Unix system. Also has fonts, color, inline images, and mouse support if using Lemacs, Epoch, or Emacs 19. Also works in local mode under DOS and on the Macintosh. Available by anonymous ftp from ftp.cs.indiana.edu in the directory pub/elisp/w3 . Enhanced Mosaic Enhanced Mosaic, from Spyglass, Incorporated, is the commercial version of NCSA Mosaic. Spyglass does not offer the browser directly to the public; instead, they license it to various OEMs. You can learn more about their licensing arrangements and the existing licensees from the Spyglass home page (URL is ). UdiWWW UdiWWW, unlike all other Windows browsers as of this writing, supports all of the proposed HTML 3.0 standard (except for and ) and also supports Netscape's various nonstandard extensions. UdiWWW is still being tested, but you can obtain it for yourself and see (URL is ). Emissary Emissary, from Wollongong, is both a web browser and a concerted effort to integrate the Internet into the Windows environment (see ). For instance, FTP sites appear much like drives in the file manager, mail can be sent via drag and drop, and WYSIWYG HTML editing is included. Emissary supports several Netscape extensions, but lacks support for tables. NetShark , From InterCon Systems Corporation . Supports incremental displaying of pages and inline images. Supports extensions to HTML, including background images. NetShark also includes a MIME compatible mail client. The Lite version is available free of charge by anonymous ftp from netshark.inter.net in the /pub/netshark/ directory. Cello Browser from Cornell LII. Available by anonymous FTP from ftp.law.cornell.edu in the directory /pub/LII/cello. WinWeb From EINet. Available by anonymous FTP from ftp.einet.net in the directory /einet/pc/winweb as the file winweb.zip. _________________________________________________________________ _World Wide Web FAQ_ X/DECWINDOWS (GRAPHICAL UNIX, VMS) BROWSERS Netscape From Netscape Communications Corp (URL is: ). Netscape has consistently released new features first. Version 2.0 supports custom "applets" written in the programming language Java, as well as new HTML features such as frames (displaying more than one document in the same browser window). Netscape also has strong table support, in addition to many extensions to HTML, not all of which conform to the proposed standard. Netscape is a commercial product but can be evaluated free of charge for 90 days by individuals. The 16-bit version works under both OS/2 and Windows. Available by anonymous FTP from ftp.netscape.com in the netscape subdirectory. See Netscape's web site for information about mirror sites. MMM The MMM browser is a Unix/X browser written in the Caml Special Light programming language with a Tcl/Tk user interface. MMM supports HTML level 2 and also supports plug-in "applets" written in Caml Special Light. NCSA Mosaic for X Unix browser using X11/Motif. The original multimedia browser. Full http 1.0 support including PUT-method forms, image maps, etc. Recent beta versions have limited support for tables. Available by anonymous FTP from ftp.ncsa.uiuc.edu in the directory Mosaic. NCSA Mosaic for VMS Browser using X11/DecWindows/Motif. For the VMS operating system. Full http 1.0 support including PUT-method forms, image maps, etc. Probably the best browser available for VMS. Available by anonymous FTP from ftp.digital.com in the directory pub/DEC/Mosaic. Quadralay GWHIS Viewer (Commercial Mosaic) Quadralay offers a commercial-grade (not free!) version of Mosaic for Unix systems, with Windows and Macintosh versions expected in the future. (URL is: http://www.quadralay.com/products/products.html#gwhis) tkWWW Browser/Editor for X11 A Unix Browser/Editor for X11 (URL is ). Supports WSYIWYG HTML editing. MidasWWW Browser A Unix/X browser from Tony Johnson. (Beta, works well.) Viola for X (Beta) Viola has two versions for Unix/X: one using Motif, one using Xlib (no Motif). Handles HTML Level 3 forms and tables. Has extensions for multiple columning, collapsible/expandable list, client-side document include. Available by anonymous FTP from ora.com in /pub/www/viola. More information available at the URL http://xcf.berkeley.edu/ht/projects/viola/README. Chimera Unix/X Browser using Athena (doesn't require Motif). Supports forms, inline images, etc.; closest to Mosaic in feel of the non-Motif X11 browsers. Available for anonymous FTP from ftp.cs.unlv.edu in the directory /pub/chimera. Emacs w3-mode A WWW browser for emacs. Runs under Xwindows, NeXTstep, VMS, OS/2, Windows NT, Windows 3.1, AmigaDOS, or just about any Unix system. Also has fonts, color, inline images, and mouse support if using Lemacs, Epoch, or Emacs 19. Also works in local mode under DOS and on the Macintosh. Available by anonymous ftp from ftp.cs.indiana.edu in the directory pub/elisp/w3. Arena Arena's primary purpose is to be a testbed for HTML Level 3 documents. As a result, Arena supports many of the new and interesting features of HTML Level 3. As of this writing it is still in prerelease and expectations should be set accordingly! Available by anonymous FTP from ftp.w3.org in the directory pub/www/arena/ . Enhanced Mosaic Enhanced Mosaic, from Spyglass, Incorporated, is the commercial version of NCSA Mosaic. Spyglass does sell the browser directly to the public, although you can download an evaluation version to try it out; instead, they seek to license it to various OEMs. You can learn more about their licensing arrangements and the existing licensees from the Spyglass home page (URL is ). _________________________________________________________________ _World Wide Web FAQ_ WHAT BROWSERS ARE AVAILABLE FOR THE ACORN RISCOS SYSTEM? ANT Suite Browser ANT Limited offers a complete Internet Suite for the RISC OS computers which includes a WWW browser and the rest of the usual Internet-related packages. See for more information. arcweb ArcWeb is a World-Wide Web browser for Acorn RISC OS computers, with RISC OS 3.1 or later. webster Another browser, about which I have no further information. The latter two browsers can be obtained by anonymous FTP from micros.hensa.ac.uk in the directory micros/arch/riscos. _________________________________________________________________ _World Wide Web FAQ_ BATCH-MODE "BROWSERS" The following browsers retrieve the contents of the URL specified on the command line and are intended primarily for use in scripts. Note that most of the text-based Unix browsers can also do this. Batch mode browser A batch-mode "browser", url_get, which is available through the URL http://uts.cc.utexas.edu/~zippy/url_get.html . It can be retrieved via anonymous FTP to ftp.cc.utexas.edu, as the file /pub/zippy/url_get.tar.Z. This package is intended for use in cron jobs and other settings in which fetching a page in a command-line fashion is useful. Batch mode browser in tclX A batch mode "browser" (URL retriever) written in extended Tcl (tclX) is available as well (URL is ). _________________________________________________________________ _World Wide Web FAQ_ I CAN'T GET SLIP OR PPP. I WANT WEB ACCESS. IS THERE A WAY? YES! If you have a plain old Unix shell account on a Unix system, such as a SunOS or Ultrix system, there are two ways around the problem: GUI Browsers that Talk to Unix Microsoft Windows users can run SlipKnot or ICOMM, special browsers which operate using programs that may already be installed on your shell account (covered in detail in the MS Windows browsers section). SLIP/PPP Emulators Anyone with dialup access to a Unix shell account can use The Internet Adapter (TIA) or SLiRP, two programs which provide a pseudo-SLIP connection. SLiRP is free. TIA is not free, but there is a free two-week trial period and it is inexpensive. You can learn more about TIA at . More information on SLiRP is available at . If you have a Macintosh, check out the Macintosh TIA Users' FAQ, , for additional help. "So what do I run on my machine at home?" Exactly the same software you would use for real SLIP; as far as your PC is concerned, it _is_ a SLIP connection. If you're unfamiliar with SLIP please check out a newsgroup relevant to your particular type of machine (Windows, Mac, or even Unix-based). _________________________________________________________________ _World Wide Web FAQ_ CAN I BROWSE HTML FILES LOCALLY WHEN I'M OFFLINE? If you do not use Microsoft Windows, the answer is usually "no problem!" Just use the "Open File" or equivalent option on the file menu of your web browser, instead of "Open Location" or "Open URL". _Note:_ for the most part, this is not a problem for Windows 95 and Windows NT users. This section applies primarily to Windows 3.1 users. If you use Microsoft Windows, and particularly if you use Netscape, you may have difficulty viewing local files when not connected to the net. Some web browsers will refuse to run unless there is functioning Internet software running on the system. Netscape offers a solution to this problem in the release notes to version 1.1 of their product. Essentially, you can install an "empty" Internet interface (winsock.dll) that keeps Netscape happy. An easy way to do this for users of some Internet connectivity software is to launch your Internet software but refrain from dialing out. The details vary from one package of Internet software to another. It is helpful to change Autoload Home Page=yes to Autoload Home Page=no in your netscape.ini file in the [Main] section. _________________________________________________________________ _World Wide Web FAQ_ HOW CAN I ACCESS THE WEB THROUGH A FIREWALL? A "proxy server" is a specialized HTTP server which (typically) runs on a firewall machine, providing access to the outside world for people inside the firewall. The CERN httpd can be configured to run as a proxy. Furthermore, it is able to perform caching of documents, resulting in faster response times. If you cannot arrange to run a proxy server (definitely the recommended approach), read on: For information on using NCSA Mosaic from behind a firewall, please read the following. In general, browsers can be made useful behind firewalls through the use of a package called "SOCKS"; the source must be modified slightly and rebuilt to accommodate this. Whenever possible, work _with_ your network administrators to solve the problem, not against them. An excerpt from the NCSA Mosaic FAQ: NCSA Mosaic requires a direct internet connection to work, but some folks have put together a package that works behind firewalls. This is _completely unsupported_ by NCSA, but here is the latest announcement: _November 15, 1993:_ C&C Software Technology Center (CSTC) of NEC Systems Lab has made available a version of SOCKS, a package for running Internet clients from behind firewalls without breaching security requirements, that includes a suitably modified version of Mosaic for X 2.0. _Beware: such a version is not supported by NCSA; we can't help with questions or problems arising from the modifications made by others._ But, we encourage you to check it out if it's interesting to you. Questions and problem notifications can be sent to Ying-Da Lee (_ylee@syl.dl.nec.com_). _________________________________________________________________ _World Wide Web FAQ_ I'M RUNNING XMOSAIC. WHY CAN'T I GET EXTERNAL VIEWERS WORKING? Answer provided by Ronald E. Daniel (rdaniel@acl.lanl.gov): Mosaic only looks at the .mime.types file if it has no idea what the document's type is. This is actually a very rare situation. Essentially all servers now use the HTTP/1.0 protocol, which means that they tell Mosaic (or other browsers) what the document's MIME Content-type is. The servers use a file very much like Mosaic's .mime.types file to infer the Content-type from the filename's extension. It is pretty simple to find out if this really is the problem. Use telnet to talk to the server and find out if it is assigning a MIME type to the document in question. Here's an example, looking at the home page for my server. (idaknow: is my shell prompt) idaknow: telnet www.acl.lanl.gov 80 // Connect to the httpd server Trying 128.165.148.3 ... Connected to www.acl.lanl.gov. Escape character is '^]'. HEAD /Home.html HTTP/1.0 // replace Home.html with your documen t // you supply the blank line HTTP/1.0 200 OK // the rest of this comes from the serve r Date: Wednesday, 25-May-94 19:18:11 GMT Server: NCSA/1.1 MIME-version: 1.0 Content-type: text/html // Here's the MIME Content-type Last-modified: Monday, 16-May-94 16:21:58 GMT Content-length: 1727 Connection closed by foreign host. idaknow: In the example above, /Home.html will get http://www.acl.lanl.gov/Home.html . Normally servers will be configured to supply a Content-type of text/plain if they don't know what else to do. If this is the problem you are having, take a look at the TypesConfig documentation for NCSA's httpd. You can have the server look at the filename extension, supply the correct Content-type, then use your local .mailcap file to tell Mosaic what viewer to use to look at the document. Russ Segal adds: The answer from Ronald Daniel is essentially correct, but it needs a small addendum. When starting Moasic, you can specify a "fileProxy" which will fetch files for you: "*fileProxy: http://socks/" If you do this, file: URLs are no longer strictly local accesses. So even if the URL is not http:, the proxy server must be upgraded as Mr. Daniel suggests. _________________________________________________________________ _World Wide Web FAQ_ I HAVE A WINDOWS PC OR MACINTOSH. WHY CAN'T I ACCESS WAIS URLS? This answer provided by Michael Grady (m-grady@uiuc.edu): The version of Mosaic for X has "wais client" code built-in to it. This was relatively easy for the developers to do, because there was already a set of library routines for talking to WAIS available for Unix as "public domain" (freeWAIS). I don't think there is such a library of routines for PC/Windows or Mac, which would make it much more difficult for the Mosaic versions for Windows and the Mac to add "wais client" capability. Therefore, at least for now, neither the Windows or Mac versions of Mosaic support direct query of a WAIS server (i.e. can act as wais clients themselves). _________________________________________________________________ _World Wide Web FAQ_ HOW DO I CONVERT HTML TO (PLAIN ASCII, POSTSCRIPT, OTHER PRINTABLE FORMATS)? There are several ways. Most web browsers have a "save as ascii" option; the quality of the result varies. Lynx, in particular, being a text-based browser, does a credible job if you select the print option and choose "print to local file" instead of an actual printer. Graphical browsers often have a "save as postscript" option; again, quality varies. A product designed expressly for this purpose is HTMLCon (URL is ), a DOS command line application. If your browser cannot save as postscript or another format which preserves in-line graphics, one option is to use Mozilla Print Gidget . You enter the URL for the page you want to convert and save the document that comes back. Another interesting product is FaxBack , which allows you to retrieve of any web page from a fax machine. Thanks to Neal McBurnett for his assistance with this section. _________________________________________________________________ _World Wide Web FAQ_ HOW CAN I SAVE AN INLINE IMAGE TO DISK? Here are three ways: 1. If you are using Netscape, just hold down the right mouse button (hold down the single mouse button for more than a second if using the Mac version) over the image. A menu will appear that includes the option of saving the image. 2. Turn on "load to local disk" in your browser, if it has such an option; then reload images. You'll be prompted for filenames instead of seeing them on the screen. Be sure to shut it off when you're done with it. 3. Choose "view source" and browse through the HTML source; find the URL for the inline image of interest to you; copy and paste it into the "Open URL" window. This should load it into your image viewer instead, where you can save it and otherwise muck about with it. _________________________________________________________________ _World Wide Web FAQ_ HOW DO I SEND NEWSGROUP POSTS IN HTML TO MY WEB CLIENT? How to do this depends greatly on your system; if you have a Mac or Windows system, the answer is completely different. But, as food for thought, here is a simple shell script I use on my Unix account to send posts from rn and related newsreaders to Lynx. Put this text in the file "readwebpost" and use the "chmod" command to make it executable, then put it somewhere in your path (such as your personal bin directory): #!/bin/sh echo \ > .article.html cat >> .article.html echo \ >> .article.html lynx .article.html < /dev/tty rm .article.html Then add the following line to your .rnmac file (create it if you don't already have one): W |readwebpost %C Now, when you press "W" while reading a post in rn, a message will be sent to Lynx, and the links enclosed in it will be live. Larry W. Virden provides the following version which invokes Mosaic instead, and is also capable of communicating with an already-running copy of Mosaic instead of launching another. (You can use the same rn macro as above, invoking "goto-xm" instead of "readwebpost".) Read the comments for details on the assumptions made by the script. #! /bin/sh # goto-xm, by Joseph T. Buck # Modified heavily by Larry W. Virden # Script for use with newsreaders such as trn. Piping the article # through this command causes xmosaic to pop up, pointing to the # article. If an existing xmosaic (version 1.1 or later) exists, # the USR1 method will be used to cause it to point to the correct # article, otherwise a new one will be started. # assumptions: ps command works as is on SunOS 4.1.x, may need changes # on other platforms. URL=`/bin/grep '^Message-ID:' | /bin/sed -e 's/.*.*//'` if [ "X$URL" = "X" ]; then echo "USAGE: $0 [goto] [once] < USENET_msg" >&2 exit 1 fi pid=`ps -xc | egrep '[Mm]osaic' | awk 'NR == 1 {print $1}'` p=`which Mosaic` gfile=/tmp/Mosaic.$pid $p "$URL" & if [ "$#" -gt 0 ] ; then if [ "$1" = "goto" -o "$1" = "same" ] ; then shift echo "goto" > $gfile else echo "newwin" > $gfile fi else echo "newwin" > $gfile fi /bin/awk 'END { printf "'"$URL"'" }' > $gfile trap "echo signal encountered" 30 kill -USR1 $pid exit 0 See also MosaicMail (URL is http://www.oac.uci.edu/indiv/ehood/mhonarc.doc.html ), a Perl script which pipes email and/or news to your current Mosaic session. _________________________________________________________________ _World Wide Web FAQ_ HOW CAN I GET SOUND FROM THE PC SPEAKER WITH WINMOSAIC? This piece of wisdom donated by Hunter Monroe: This section explains how to install sound on a PC which already has a working version of Mosaic for Microsoft Windows. Be warned in advance that the results may be poor. To get Mosaic to produce sound out of the PC speaker, first, you need a driver for the speaker. You can get the Microsoft speaker driver from the URL ftp://ftp.microsoft.com/Softlib/MSLFILES/SPEAK.EXE or by doing an Archie search to find it somewhere else. SPEAK.EXE is a self-extracting file. Copy the speak.exe file to a new directory, and then type "SPEAK" at the DOS prompt. Do not put the file SPEAKER.DRV in a separate directory from OEMSETUP.INF. Now, you need to install the driver. In Windows, from the Program Manager choose successively Main/Control Panel/Drivers/Add/Unlisted or updated drivers/(enter path of SPEAK.EXE)/PC Speaker. At this point some strange sounds come out as the driver is initialized. Change the settings to improve the sound quality on the various sounds: tada, chimes, etc. Click OK when you are finished and choose the Restart windows option. Having installed the speaker driver, you will now get sounds whenever you start Windows, make a mistake, or exit Windows. If you do not want this, from the Main/Control Panel/Sounds menu, make sure there is no X next to "Enable System Sounds." Now, you need a sound viewer program that Mosaic can call to display sounds. NCSA unfortunately recommend WHAM, which does not work well with a PC speaker. Get the program WPLANY instead. You can find a copy nearby with an Archie search on the string "wplny"; the current version is WPLNY09B.ZIP. For details on archie and other basic issues related to FTP, please read the Usenet newsgroup news.announce.newusers. Move the zip file to a new directory, and use an unzip program like pkunzip to unzip it, producing the files WPLANY.EXE and WPLANY.DOC. Then edit the MOSAIC.INI file to remove the "REM" before the line "TYPE9=audio/basic". Then, you need lines in the section below that read something like: audio/basic="c:\wplany\wplany.exe %ls" audio/wav="c:\wplany\wplany.exe %ls" where you have filled in the correct path for wplany.exe. The MOSAIC.INI file delivered with Mosaic may have NOTEPAD.EXE on the audio/basic line, but this will not work. Now, restart Mosaic, and you should now be able to produce sounds. To check this, with Mosaic choose File/Local File/\WINDOWS\*.WAV and then try to play TADA.WAV. Then, you might try the Mosaic Demo document for some .AU sounds, but you are lucky if your speaker produces something you can understand. _________________________________________________________________ _World Wide Web FAQ_ AMIGA SERVERS AWS AWS is the first server written specifically for the Amiga. Documentation is available from , and the distribution can be downloaded by anonymous FTP from . NCSA NCSA's Unix server has been ported to the Amiga, and is bundled with the AMosaic browser; however, a web page about the port is no longer available. _________________________________________________________________ _World Wide Web FAQ_ MACINTOSH SERVERS WebSTAR WebSTAR is an "industrial-strength" commercial World Wide Web server from StarNine, Inc. (URL is ). MacHTTP MacHTTP is a freely available web server for the Macintosh. There is also a Frequently Asked Questions posting dedicated to MacHTTP: Mac Common Lisp Server A server written in Mac Common Lisp (URL is ) is now available. The Mac Common Lisp server supports extension of the server with object-oriented Lisp code and is freely available, including source. http4mac http4mac is a simple, free web server for the Macintosh. NetPresenz NetPresenz is a very inexpensive package for the Macintosh that is capable of serving three protocols: FTP, HTTP, and gopher. CGI programming and other new features have been added recently. Formerly known as FTPd. InterServer Publisher , is a commercial web, FTP, and gopher server for the Macintosh. It emphasizes ease of configuration but also supports configuration through AppleScript. The server also offers a server-side HTML extension which supports hit counters, image maps, and directory listings as standard features. A 30-day demo is available by anonymous ftp from ftp.intercon.com in the /intercon/sales/Mac/Demo_Software/ directory. Enhanced Mosaic Enhanced Mosaic, from Spyglass, Incorporated, is the commercial version of NCSA Mosaic. Spyglass does sell the browser directly to the public, although you can download an evaluation version to try it out; instead, they seek to license it to various OEMs. You can learn more about their licensing arrangements and the existing licensees from the Spyglass home page (URL is ). Common Lisp Hypermedia Server (CL-HTTP) The CL-HTTP server is a web server written entirely in Common Lisp. It is available on many platforms, and can be programmed at a remarkably high level, using Lisp code to generate much of the output of the server. An interesting option when development time is limited. _________________________________________________________________ _World Wide Web FAQ_ MSDOS AND NOVELL NETWARE SERVERS NetWare Web Server The NetWare Web Server, from Novell, offers a way to turn any NetWare server into a World Wide Web server. Support for a NetWare-style variation of CGI called R-CGI and for the execution of scripts on remote Unix machines distinguish this server. See Novell's home page for more information. KA9Q KA9Q NOS (nos11c.exe) is a internet server package for DOS that includes HTTP and Gopher servers. It is a useful way to turn even an older machine into a useful Internet appliance. It can be obtained via anonymous FTP from one of the following sites: inorganic5.chem.ufl.edu biochemistry.cwru.edu GLACI-HTTPD GLACI-HTTPD is a Netware Loadable Module which allows a Novell NetWare server to become a World Wide Web server (URL is http://www.glaci.com/info/glaci-httpd.html ). WonLoo Telenologies NLM WonLoo Telenologies also offers a Netware Loadable Module which permits a Novell Netware server to act as a web server. The Major BBS Galacticomm's Major BBS software now has an Internet Connectivity Option that adds web server capabilities (URL is ). _________________________________________________________________ _World Wide Web FAQ_ UNIX SERVERS NCSA httpd NCSA is the source of one of the oldest Unix web servers, and still one of the best, known as the NCSA httpd; it is available at the URL ftp://ftp.ncsa.uiuc.edu/Web/httpd. Versions 1.5 and later support HTTP Keep-Alive, which improves efficiency when the server is communicating with a compatible web browser such as Microsoft Internet Explorer. More information is available at NCSA . XS-HTTPD XS-HTTPD is a small, fast, back-to-basics web server. XS-HTTPD supports CGI and other standard features, executes a user's CGI programs under that user's own ID, and preforks a fixed number of copies of itself for performance (like most other fast servers). Apache httpd Apache is a powerful, reliable drop-in replacement for the NCSA httpd. Note that a version which supports SSL for secure transactions is also available. w3 httpd The w3 consortium httpd, originally developed at CERN, is available for anonymous FTP from ftp.w3.org (URL is http://www.w3.org/hypertext/WWW/Daemon/Status.html ) and many other places. The w3 server is currently the only free server able to act as a caching proxy. Spyglass httpd Spyglass offers a Unix web server, free of charge. The server claims higher speeds than other commercial and free servers and offers benchmark tests to back them up. CGI, authentication, a faster non-CGI programming interface and other common server features are included. Netscape's Netsite Servers Netscape Communications Corporation offers two server products, high-end Netscape Commerce Server (capable of secure transactions) and the less expensive Netscape Communications Server. Both products feature a more efficient replacement for CGI (common gateway interface) programming and are designed to be more efficient than traditional free-of-charge servers such as the NCSA and CERN http demons. Compuserve Internet Office Web Server Compuserve's Internet division (formerly Spry) offers the Internet Office Web Server, available for both Unix and Windows NT. The standard edition can be tried out for free. The professional edition includes editing tools and supports S-HTTP security and SQL database connectivity. GN Gopher/HTTP server The GN server is unique in that it can serve both WWW and Gopher clients (in their native modes). This is a good server for those migrating from Gopher to WWW, and includes some of the more powerful web server features as well (such as CGI scripts). See the URL http://hopf.math.nwu.edu/. Perl server There is also a server written in the Perl scripting language, called Plexus, for which documentation is available at the URL http://bsdi.com/server/doc/plexus.html . WN Server The WN Server, available at the URL http://hopf.math.nwu.edu/docs/manual.html , is designed with an emphasis on security and flexibility, and takes a different approach from the NCSA and CERN servers. It provides text searching facilities as a standard feature. EIT httpd EIT has created the Webmaster's Starter Kit, which installs their WWW server on your system via the web through a painless forms interface. Recommended for those unfamiliar with server installation. You can learn more about the starter kit and the EIT httpd at the starter kit site (URL is http://wsk.eit.com/wsk/doc/ ). Phttpd The Phttpd Server, available by anonymous FTP from ftp.lysator.liu.se in the directory pub/phttpd, is a multithreaded server for Sun's Solaris 2.X operating system which takes advantage of memory mapping and dynamic linking to achieve excellent performance. Open Market Web Servers Open Market offers two commercial products, WebServer and the Secure WebServer. The latter supports the Secure HTTP and SSL standards for secure transactions. Both are multithreaded for efficiency and emphasize strong logging features and access control (URL is ). Spinner Spinner is a free web server for Unix platforms which supports extensive server-side parsing of documents, completely avoids forking for non-CGI accesses, and supports multiple roots for multiple host names (URL is ). Navisoft Server The Navisoft Server is available for Windows NT, as well as many Unix platforms, and interfaces directly to a back-end database for powerful search capabilities. Boa Boa is a single-process server. While it does not have every advanced feature, it is interesting because it internally multiplexes all of the ongoing http connections and forks only to handle CGI programs. This should translate into remarkable speed when serving normal documents. See for more information. thttpd thttpd, the "tiny/turbo/throttling HTTP server", is much like Boa in that it takes a single-process approach. thttpd handles only the GET and HEAD methods and emphasizes simplicity and very low resource consumption. It isn't suitable for everything, but it serves simple documents very quickly! It also has a feature which is currently unique: thttpd can limit the pace of accesses to particular URLs. Common Lisp Hypermedia Server (CL-HTTP) The CL-HTTP server is a web server written entirely in Common Lisp. It is available on many platforms, and can be programmed at a remarkably high level, using Lisp code to generate much of the output of the server. An interesting option when development time is limited. _________________________________________________________________ _World Wide Web FAQ_ VM/CMS SERVERS Webshare A VM/CMS web server is available from Beyond Software Incorporated. It was written entirely in REXX and supports CGI programming in that language as well as more traditional web server features. Imagemaps are limited to rectangular regions. VM:Webserver Sterling Software, Inc. also offers a VM/CMS based web server. CGI and other web server standards are supported. Web browser-based setup and maintenance features are included. _________________________________________________________________ _World Wide Web FAQ_ VMS SERVERS CERN HTTP for VMS A port of the CERN server to VMS. Available at the URL http://delonline.cern.ch/disk$user/duns/doc/vms/distribution.ht ml . Region 6 Threaded HTTP Server A native VMS server which uses DECthreads(tm). This is a potentially major performance advantage because VMS has a high overhead for each process, which is a problem for the frequently-forking NCSA and CERN servers that began life under Unix. A multithreaded server avoids this overhead. Available at the URL http://kcgl1.eng.ohio-state.edu/www/doc/serverinfo.html . _________________________________________________________________ _World Wide Web FAQ_ IBM OS/2 WEB SERVERS While OS/2 can take advantage of most Windows software, native OS/2 web servers perform better in the OS/2 environment. In addition to consulting the list of servers below, be sure to check out Don Meyer's excellent HTTPD for OS/2 page , which provided much of the information for the latest update of this section. goserve for OS/2 goserve (URL is ) is a one-piece World Wide Web and Gopher for OS/2. Designed for ease of installation. OS2HTTPD An OS/2 server based on NCSA's Unix HTTPD, ported by Frankie Fan. See the home page (URL is ftp://ftp.netcom.com/pub/kf/kfan/overview.html ) for details, or fetch the package by anonymous FTP from ftp.netcom.com in the directory pub/kf/kfan. IBM Internet Connection Server for OS/2 The IBM Internet Connection Server is a commercial product, and requires the High Performance File System (HPFS). OS2WWW OS2WWW is a shareware server for OS/2. OS2WWW, like OS2HTTPD, is a port of the NCSA Unix HTTPD. However, OS2WWW has been rewritten to take advantage of OS/2 "threads" instead of creating a new process for every new connection, and performance should be better than that of OS2WWW. Apache for OS/2 A port of the popular freeware Apache server for Unix, Apache for OS/2 offers many of the same features. W3 HTTPD with Proxy Support An OS/2 port of the W3 Consortium HTTPD server (originally developed by CERN) is now available for OS/2. This is currently the only OS/2 server capable to serve as a proxy. _________________________________________________________________ _World Wide Web FAQ_ MS WINDOWS NT AND WINDOWS 95 SERVERS Note: ALL the servers on this list are 32-bit servers and are incompatible with or not recommended for use with 16-bit Windows 3.1. Servers compatible with Microsoft Windows 3.1 and earlier are covered in a separate list. Many 32-bit servers in this list are compatible with Windows 95 as well as Windows NT. Microsoft Internet Information Server Microsoft's Internet Information Server is a free offering for Windows NT. This server supports both CGI and Microsoft's DLL-based interface, although storing state information about the user using the cookie mechanism is not fully implemented for CGI. A detailed FAQ by Stephen Genusa is available. WebQuest 95 and NT The WebQuest servers, from Questar, offer extended server side include capabilities, easy graphical installation and a bundled HTML editor. SuperWeb Server The SuperWeb server, from Frontier Technologies, is a straightforward NT web server which includes HTML and imagemap editing software. SuperWeb features remote administration capabilities. HTTPS (Windows NT) HTTPS is a server for Windows NT systems, both Intel and Alpha -- based. It is available via anonymous FTP from emwac.ed.ac.uk in the directory pub/https (URL is ftp://emwac.ed.ac.uk/pub/https). (Be sure to download the version appropriate to your processor.) You can read a detailed announcement at the FTP site, or by using the URL ftp://emwac.ed.ac.uk/pub/https/https.txt. A professional version is also available (URL is http://emwac.ed.ac.uk/html/internet_toolchest/https/prof.htm ). Purveyor From Process Software Corporation. For Windows NT. Based on the EMWAC source code, with enhancements (URL is ). SerWeb for Windows NT A simple, effective server for Windows NT, written by Gustavo Available by anonymous FTP from emwac.ed.ac.uk as /pub/serweb/serweb_i.zip. Netscape's Netsite Servers Netscape Communications Corporation offers two server products, high-end Netscape Commerce Server (capable of secure transactions) and the less expensive Netscape Communications Server. Both products feature a more efficient replacement for CGI (common gateway interface) programming and are designed to be more efficient than traditional free-of-charge servers such as the NCSA and CERN http demons. Both are intended for Windows NT. Alibaba Alibaba is Computer Software Manufaktur's NT-based web server, which takes advantage of multithreading for best performance: WebSite WebSite (URL is ) is a Windows NT-based web server available from O'Reilly. WebSite offers a graphical, user-friendly front end to the server for easy file manipulation, and includes software to track down broken links. WebSite also runs under Windows 95. FolkWeb WWW Server FolkWeb is a Windows NT and 95 web server which takes advantage of threads and offers friendly GUI-based configuration. Commerce Builder Commerce Builder is a commercial Windows 95 and NT server. Navisoft Server The Navisoft Server is available for Windows NT, as well as many Unix platforms, and interfaces directly to a back-end database for powerful search capabilities. Cyber Presence The CyberPresence Server, available for Windows NT and Windows 95, emphasizes performance issues. The server offers built-in imagemap support and high-performance file access as well as fast DLL-based CGI suport to avoid the overhead of "forking" processes. SIAC HTTPD The SIAC web server for NT (currently free software) offers basic server functionality in addition to a certain amount of in-page programmability. <&RL:http://wwwserver.itl.saic.com/> Web Commander The Web Commander web server for NT and Windows 95 is a commercial product which emphasizes ease of use, remote monitoring, and built-in access statistics. Common Lisp Hypermedia Server (CL-HTTP) The CL-HTTP server is a web server written entirely in Common Lisp. It is available on many platforms, and can be programmed at a remarkably high level, using Lisp code to generate much of the output of the server. An interesting option when development time is limited. _________________________________________________________________ _World Wide Web FAQ_ MS WINDOWS 3.1 COMPATIBLE SERVERS Note: IBM OS/2 servers are now covered under a separate heading. Microsoft Windows NT and Windows 95-specific servers are also covered under a separate heading. The servers in this list should work under the above operating systems, but there are better 32-bit products available; see the separate listings. ZBServer zbserver is a shareware server for Windows which supports both http and gopher access (URL is ). Purveyor From Process Software Corporation. For Windows NT. Based on the EMWAC source code, with enhancements (URL is ). Windows httpd WinHTTPD (URL is ) has most of the features of the original NCSA Unix server, including CGI programs (which generate pages on the fly based on user input). CGI programs implemented in Visual BASIC; they can also be implemented in Perl or any other language available for MSDOS. WinHTTPD originated the WinCGI standard now supported by many Windows servers. CGI DOS programs can be conveniently debugged using the CGI-DOS Perl library (URL is ). SerWeb A simple, effective server for Windows writtten by Gustavo Estrella. Available by anonymous ftp from winftp.cica.indiana.edu (or one of its mirror sites, such as nic.switch.ch), as the file serweb03.zip, in the directory /pub/pc/win3/winsock. Chameleon Web Personal Server Included with the Chameleon TCP/IP software from Netmanage, Inc. Comments, anyone? WEB4HAM Another Windows-based server, available by anonymous FTP from ftp.informatik.uni-hamburg.de as /pub/net/winsock/web4ham.zip. Alibaba Alibaba is Computer Software Manufaktur's NT-based web server, which takes advantage of multithreading for best performance: WebServer The WebServer product from Quarterdeck is a straightforward Windows 3.1 web server designed to be easy to configure. _________________________________________________________________ _World Wide Web FAQ_ SERVERS FOR EMBEDDED APPLICATIONS Companies interested in integrating web server capabilities into an embedded system on any operating system may be interested in the Fusion embedded Web server from Magma Information Technologies. Magma Information Technologies also offers Lava 1.2 , a library for both Windows and MSDOS which can be linked to your own application to add web-server capabilities without reinventing the wheel. _________________________________________________________________ _World Wide Web FAQ_ HOW CAN TWO DIFFERENT HOME PAGES SHARE ONE PHYSICAL MACHINE? Dan Pritchett maintains a document detailing the process of running two or more servers on the same machine without end users being able to tell the difference (URL is ). _________________________________________________________________ _World Wide Web FAQ_ YEAH, BUT WHICH SERVER IS BEST? To find out which server is best for your needs, you will want to consult Paul Hoffman's Server Comparison Chart (URL is ). _________________________________________________________________ _World Wide Web FAQ_ HOW FAST DOES MY NET CONNECTION NEED TO BE? The following response to this very-frequently-asked-question was provided by Mike Meyer (mwm@contessa.phone.net). The answer is "It depends." What it depends on is what kind of things you want to provide on your server. Here are some rules of thumb to use when deciding what kind of connection you need for your server. The first rule of thumb is: _Don't worry about simultaneous access at first._ The first thing to do is make sure you've got enough bandwidth to send the objects you want to send in a reasonable time. That provides a lower bound on your line speed no matter what level of traffic you have. The second rule of thumb is: _It should take at most 5 seconds to send a page._ The five second rule dates from command line days, when that was about how long people would wait before getting impatient with the system. It seems like a reasonable number to use now. Since external images/audio/etc. are somewhat exceptional, allow more time for them. If you think they should have the same restrictions as above, buy the bandwidth your site will need to do so. However, the rule of thumb for external images/audio/etc is: _It should take at most 30 seconds to send an external file._ Given these rules, it's pretty straightforward to work out how large an HTML page and external files can be. At least, it's easy after you simplify things by ignoring IP overhead on the line, compression on modem lines, and anything that's less than 10% of the total (or even a little bit more than 10%). The one simplification not to ignore is the multiple packet round-trips it takes to get data flowing through an HTTP channel. For modem lines, this is nearly a second for each HTTP connection, which is significant. For leased lines, it's more like .1 or .2 seconds, which is not significant. On a 14.4 line assumed to be sending 1.4K bytes of data/second, with a 1 second startup, you get 4 * 1.4 or 5.6K of HTML. If you want to include a single inline image, that's 2 seconds of startup, so you're down to 3 * 1.4 or 4.2K of HTML + image. This means smallish HTML pages, and simple inline images. For external files, you get 29 * 1.4 or 40K, which is still a small image. If you have a 28.8 line, you get to double those figures; for a 9600 line, figure 2/3rds of that size. On a 56K leased line assumed to be sending 5K/second, you get 25K of HTML, or mixed HTML/data. For external images, it's 150K. That should cover any reasonable HTML document, and small to medium external files. An MPEG movie might be a bit much. With a T1 line assumed to be sending 150K/second, you get 750K of HTML, or 4.5 megabytes in an external file. Barring very large animations, this should be sufficient for anything you want to serve. More would be faster, but it also gets drastically more expensive. Now that you know the minimum bandwidth to deliver a single object in a timely fashion, let's consider the total throughput of your site. The maximum throughput is about 118 megaybtes for a 14.4 modem line, 422 megabytes for a 56K line and 12 gigabytes for a T1 line. Now look at the total bandwidth you are going to use. Don't forget that things other than the HTTP server will be using the line, and some of them may require more bandwidth than the server. If you need more than 100% of the available bandwidth, you have to buy more bandwidth. If you need more than 50% of that bandwidth, you should probably buy more bandwidth. If you need less than 10% of the bandwidth, you are fine. To plug in some sample numbers, assume the average size of served objects is 20K. Rounding to the nearest hundred or thousand in all cases, we find that you are fine up to 600 access/day on a 14.4 line, and acceptable up to 3,000. For a 56K line, that's 2,300 and 11,500. For a T1, that's 63,000 and 315,000 access/day. If your document sizes are smaller - which is likely - multiply the numbers by the appropriate factor. As a final note, people working well below the 50% limit for a T1 have encountered problems with the server platform. Usually, this is caused by the HTTP server software encountering some system limit. If you are working with servers in these ranges, you need to consider server platform as well. _________________________________________________________________ _World Wide Web FAQ_ HOW CAN I MAKE MY WEB SITE SEARCHABLE BY THE USER? Both free and commercial tools are available for this task. A brief list of such tools follows. Thanks to John K. Hinsdale for contributing the original list. Free Web Site Search Engines freeWAIS-sf The well-known freeWAIS-sf engine offers an HTTP front end, sf-gate, with which users can explore indexed documents on your site. glimpse From the University of Arizona, the glimpse engine can be used to easily search large numbers of HTML documents. Harvest Harvest, from the University of Colorado, is a powerful but somewhat complex information search and replication system. Used properly, Harvest can be a powerful tool to distribute your documents. Commercial Search Engines (Some Available Free) Excerpt From Alma Mater Software. An off-the-shelf indexer for SunOS machines. Includes web-based forms. Excite From ArchiText, Excite is expressly designed to add straightforward searching capabilities to existing web sites. Topic From Verity, Inc. Topic indexes documents in a high-level fashion by "concept." WAIS From America Online, WAIS is a modern commercial verison of the original WAIS system, one of the first indexing systems of this type. _________________________________________________________________ _World Wide Web FAQ_ HOW DO I CONFIGURE MY SERVER TO RECOGNIZE BOTH .HTM AND .HTML? Many web servers run Unix or another operating system that allows long filenames. Many users, on the other hand, are stuck with 8.3 filenames under MSDOS and Windows 3.1. As a result, many users give their documents a .htm extension and are surprised when servers fail to automatically recognize this. Under the NCSA and Apache web servers for Unix, this can be easily corrected by adding the following line to the srm.conf file: AddType text/html .htm Most servers now ship with both .html and .htm recognized by default. _________________________________________________________________ _World Wide Web FAQ_ DO I HAVE TO APPROVE EVERY IMAGEMAP MY USERS CREATE? Not if you update to the latest and greatest imagemap software. The problem is that the NCSA web server imagemap program used to require a central configuration file. This restriction has been lifted in version 1.4 of the NCSA web server (read more at ). The CERN imagemap program never did have this restriction (consider ). Also consider Jutta Degener's "umap" ( ), a flexible alternative to the standard imagemap utilities. _________________________________________________________________ _World Wide Web FAQ_ CAN I SAFELY ALLOW MY USERS TO RUN THEIR OWN CGI SCRIPTS? CGI scripts are a very powerful facility, with some risks attached to them. In a Unix system, if CGI scripts run with the same user ID as the web server itself, poorly or maliciously written scripts can damage files or open security holes. There are two important steps that should be taken to correct this: 1. _NEVER_ run your web server as root; make sure it is configured to change to another user ID at startup time. (This is standard practice in all web server distributions, but administrators have been known to change it back to running as root anyway. Don't.) 2. Consider using a wrapper such as , user.c , or CGIwrap to ensure that each CGI script runs with the permissions and user ID of the user responsible for it. If proper precautions are taken, user CGI scripts can be reasonably safe. As always, dumb mistakes that open security holes for outsiders are more likely to be the cause of problems than actual malice on the part of your own users. Also be sure to check out Paul Phillips' excellent collection of CGI security-related pages . _________________________________________________________________ _World Wide Web FAQ_ CAN I BUY SPACE ON AN EXISTING SERVER? Yes, you can. A list of sites offering WWW space for lease is available (at the URL http://union.ncsa.uiuc.edu/HyperNews/get/www/leasing.html ). _________________________________________________________________ _World Wide Web FAQ_ HOW CAN I KEEP ROBOTS OFF MY SERVER? Programs that automatically traverse the web can be quite useful, but have the potential to make a serious mess of things. Every so often someone will write a "depth-first" searching robot that brings servers to their knees. See the section on writing robots for details. Fortunately, most robots on the web follow a simple protocol by which you can keep them off your server if you wish, or keep them out of portions of your server which are robot traps (ie, they contain an infinite number of possible links). Read the document World Wide Web Robots, Wanderers and Spiders (URL is ) and learn about the emerging standards for exclusion of robots from areas in which they are not wanted. You can also read about existing robots there, including useful cataloging robots you probably do _not_ want to keep off your server. _________________________________________________________________ _World Wide Web FAQ_ HOW DO I PUBLICIZE MY WORK? There are several things you can do to publicize your new HTML server or other offering: * Post to comp.infosystems.www.announce. PLEASE READ THE CHARTER POSTING FIRST. In general, always read a newsgroup first to familiarize yourself before posting to it. * Submit it to Yahoo (URL is ), an impressive index of the web which expands its knowledge automatically but permits the direct submission of URLs as well. * Submit it to a large number of different catalogs using Submit It , a service which allows you to register with many indexes by filling out a single form. * A similar one-step submission service is entitled wURLd Presence . * Submit it to the NCSA What's New Page at the URL http://www.ncsa.uiuc.edu/SDG/Software/Mosaic/Docs/whats-new.html (see the page for details on how to submit your listing!). * Register your URL in the Lycos Database (URL is ). * Submit your URL to the maintainers of various catalogs, such as the WWW Virtual Library (at the URL http://www.w3.org/hypertext/DataSources/bySubject/Overview.html ) and the ALIWEB index (at the URL http://web.nexor.co.uk/aliweb/doc/aliweb.html ). * Read Gareth Rees' guide to publishing on the World Wide Web. (URL is http://www.cl.cam.ac.uk/users/gdr11/publish.html ). * Consult Pete Page's How to Announce your New Web Site (URL is ). _________________________________________________________________ _World Wide Web FAQ_ HOW CAN I RESTRICT AND CONTROL ACCESS TO MY SERVER? All major servers have features that allow you to limit access to particular sites, and many clients have authentication features that allow you to identify specific users. An overview of this topic available from the w3 Organization web server (URL is ). There is also a tutorial on security and user authentication with the NCSA server and Mosaic available, written by Marc Andreessen (URL is ). See your server documentation for further information. _________________________________________________________________ _World Wide Web FAQ_ CAN I HIDE THE HTML OF MY PAGE SO NO ONE CAN STUDY IT? No. For better or worse, the answer is no. When the document is displayed, the HTML source is there, too; most browsers even have functions like "View Source" and "Save As HTML." HTML is not particularly complicated; it is essentially a simple markup language, and it is unlikely that any HTML "trick" will remain secret for long. Because HTML is simple, this would probably be the case even if the source were not visible. Good HTML _style_, on the other hand, is a subtle thing and requires a high degree of consistency and editorial sense (not always displayed in this document, I'll admit). It is unlikely that anyone will succeed in stealing your "style" using the "View Source" button, although they may pick up a few tricks. _________________________________________________________________ _World Wide Web FAQ_ HOW CAN I KEEP STATISTICS ABOUT MY WEB SERVER? There are several tools which can generate statistics about your web server. Wusage Wusage, written by the author of the FAQ, offers configurable reports on the popularity of your documents, the sites that visit you, the peak hours of access to your site, and more. Sites and documents can be specifically ignored or allowed in the reports. Reports are generated in HTML with tables (optional) and full-color inline graphs. Version 4.0 is not free, but is available at one third of the regular price to educational institutions and nonprofit organizations. Available for over 15 Unix platforms, plus DOS, OS/2, and Windows 95 and NT. See the Wusage home page (URL is http://www.boutell.com/wusage/ ) for more information, or obtain Wusage by anonymous FTP from ftp.boutell.com in the directory pub/boutell/wusage. net.Analysis The net.Analysis package offers a real-time look at the activity on your web server. Analysis is performed on your local PC and the package can interact with Excel and other tools. WebTrends WebTrends is a server log analysis package for the Microsoft Windows platform. Although it runs under Windows, WebTrends can analyze logs generated by any web server that outputs one of the well-known log formats. Combined Log Handling System The Combined Log Handling System is a log analyzer written in Perl which is able to read the logs of many different server packages, including ftp, gopher, several web server flavors, archie, and others. The system converts log entries to a single format and providing summary data (URL is ). MK-Stats MK-Stats produces impressive server statistics reports in HTML, including high-gloss inline image graphs. MK-Stats analyzes all server logs, including the referer log (the log of pages from which your site was accessed) and the error log. Written in Perl. Shareware. getstats getstats is a versatile log analyzer, written in C, which provides reports for various time periods with a high degree of flexibility. Add-on packages have been written to generate reports in HTML and also to generate graphs. You can access the getstats home page for more information (URL is http://www.eit.com/software/getstats/getstats.html ), or obtain the package by anonymous FTP from ftp.eit.com in the directory /pub/web.software/getstats. WebStat WebStat is a package written in the language Python which supplies statistics on usage by domain, country, etc., with daily, weekly, monthly and annual reports available. You will need Python in order to use it. See the WebStat home page (URL is http://www.pegasus.esprit.ec.org/people/sijben/statistics/adve rtisment.html ) for details, or obtain Python from ftp.cwi.nl in the directory /pub/python and WebStat from ftp.pegasus.esprit.ec.org in the directory /pub/misc. WOA WOA is a server access counter program which counts document accesses and also provides information about the sites which accessed each document. WOA generates HTML output and is written in Tcl and C. wwwstat wwwstat is a full-featured log analyzer written in the language Perl. (See the newsgroup comp.lang.perl.misc for more information about the language.) See the wwwstat home page (URL is http://www.ics.uci.edu/WebSoft/wwwstat/) for more information, or obtain the package by anonymous FTP from liege.ics.uci.edu in the directory /pub/arcadia/wwwstat. See also gwstat (URL is http://dis.cs.umass.edu/stats/gwstat.html ), a package which produces GIF graphs from the output of wwwstat. bert Bert is an acronym for Browser-log Extraction and Reporting Tool. It takes the agent_log and gives information about which browsers people have been using to access your site with. You can access the bert home page for more information (URL is ). Quickstats Quickstats is a straightforward log analysis package, oriented toward simple queries such as the popularity of a particular page. Quickstats can also ignore specific sites, among other options. Check out the QuickStats home page: ErrorChk Unlike most log statistics programs, ErrorChk analyzes and reports on the contents of the error log created by the NCSA server. This is useful as a means of diagnosing server problems. (URL is ) Snowhare's Log Analysis Tools Snowhare (Benjamin Franz) has made a suite of log analysis tools written in Perl available at which include graphical reports. analog Analog is a server log analysis package which emphasizes simplicity of installation, speed and attractive results. See for more information. _________________________________________________________________ _World Wide Web FAQ_ HOW CAN I SERVE [WORD DOCUMENTS, EXCEL SPREADSHEETS, DOUGHNUTS]? In order to deliver documents of new and different types from your server, you need to configure the correct "content type" for each type of document, and use the proper extension when naming the file on the server. If the document type is highly unusual, you will also need to see to it that users know what content type to configure their browsers for, and what application to launch for that content type. Presented below is a list of the better-known content types with commentary on those the author is familiar with. This information is drawn from appendix 2 of the author's book, CGI Programming in C and Perl . The original list of content types was taken from the public domain NCSA web server . Please note: new media types are coming into existence regularly. The official registry is often well behind actual practice. This list is based on that included with NCSA's public domain web server as of September 1995. No attempt is made here to document the format of the data associated with these mime types. This list is intended to make it easier to determine what content type should be assigned to documents produced by various well-known applications. Media Content Type Comments application/activemessage application/andrew-inset application/applefile application/atomicmail application/dca-rft application/dec-dx application/mac-binhex40 application/macwriteii MacWrite Document application/msword Microsoft Word Document application/news-message-id application/news-transmission application/octet-stream Use for binary file downloads application/oda application/pdf Adobe Acrobat Documents application/postscript Postscript application/remote-printing application/rtf Rich Text Format application/slate application/x-mif application/wita application/wordperfect5.1 WordPerfect 5.1 Documents application/wordperfect6.0 WordPerfect 6.0 Documents application/x-csh Potentially dangerous [1] application/x-dvi TeX/LaTeX Output (not TeX source) application/x-hdf application/x-latex LaTeX Source application/x-netcdf application/x-sh Potentially dangerous [1] application/x-tcl Potentially dangerous [1] application/x-tex TeX Source application/x-texinfo application/x-troff Troff Formatter Source application/x-troff-man Troff Source, -man argument assumed application/x-troff-me Troff Source, -me argument assumed application/x-troff-ms Troff Source, -ms argument assumed application/x-wais-source application/zip Many users have ZIP helper apps application/x-bcpio application/x-cpio cpio tape format (Unix) application/x-gtar gnu tar tape format (Unix) application/x-shar Potentially dangerous [1] application/x-sv4cpio application/x-sv4crc application/x-ustar audio/basic Sun-style .au format audio audio/x-aiff Amiga-format .aiff audio audio/x-wav Microsoft Windows-format .wav audio image/gif Compuserve GIF 8-bit lossless images image/ief image/jpeg JPEG lossy photographic images image/png w3 consortium PNG lossless images image/tiff TIFF format images image/x-cmu-raster image/x-portable-anymap netpbm/pbmplus images (any subtype) image/x-portable-bitmap netpbm/pbmplus black and white images image/x-portable-graymap netpbm/pbmplus grayscale images image/x-portable-pixmap netpbm/pbmplus truecolor images image/x-rgb image/x-xbitmap X Window System black and white images image/x-xpixmap X Window System color images image/x-xwindowdump X Window System screen dump format message/external-body message/news message/partial message/rfc822 multipart/alternative multipart/appledouble multipart/digest multipart/mixed Server push multipart/parallel text/html HTML documents text/x-sgml SGML documents, not limited to HTML text/plain Plain ASCII text text/richtext This is not RTF (see above) text/tab-separated-values Useful for spreadsheet interchange text/x-setext video/mpeg MPEG video format; common on PCs, Unix video/quicktime Apple video format video/x-msvideo Microsoft/Intel AVI video format video/x-sgi-movie [1]: Browsers should almost never be configured to execute shell scripts. This is a dangerous practice as the script in question could simply consist of rm * or another harmful command. Those interested in sending code to the browser should consider safe scripting languages such as Java, Safe-TCL and PGP-SafePerl. _________________________________________________________________ _World Wide Web FAQ_ PRODUCING HTML DOCUMENTS HTML is the simple markup system used to create hypertext documents. HTML is not intended to be a comprehensive page-layout system. Instead, HTML aims to let you describe the _structure_ of your document by indicating headings, emphasis, links to other documents and so forth. The more you work with HTML rather than against it, the happier you'll be. You can include images and other multimedia objects in your documents, but it should be remembered that not all web users have graphical clients, and many web users voluntarily turn graphics _off_ to save downloading time! If you try to spite such users, you will only lose readers (and customers). You can in fact specify a great deal about the appearance of your document in the latest web browsers. There is no harm in taking advantage of these features, but as a rule of thumb, always make sure your document looks good in a text-based browser such as Lynx as well as in the graphical browser of your dreams. This is more than a simple matter of taste. Keep in mind that not all users can see! There are three ways to produce HTML documents: writing them yourself, which is not a very difficult skill to acquire, using an HTML editor, which assists in doing the above, and converting documents in other formats to HTML. The following three sections cover these possibilities in sequence: * Writing HTML yourself * HTML editing tools * Conversion tools _________________________________________________________________ _World Wide Web FAQ_ WRITING HTML DOCUMENTS YOURSELF You can write an HTML document with any text editor. Try the "source" button of your browser (or "save as" HTML) to look at the HTML for a page you find particularly interesting. The odds are that it will be a great deal simpler than you would expect. If you're used to marking up text in any way (even red-pencilling it), HTML should be rather intuitive. A beginner's guide to HTML is available at the URL http://www.ncsa.uiuc.edu/General/Internet/WWW/HTMLPrimer.html . You can also find a compressed Postscript version (at the URL ftp://ftp.ncsa.uiuc.edu/ncsapubs/WWW/HTMLPrimer.ps.Z). (Since the latter two are FTP URLs, you can fetch them by hand using FTP if you do not yet have a web browser.) There is also an HTML primer by Nathan Torkington at the URL http://www.vuw.ac.nz/who/Nathan.Torkington/ideas/www-html.html . _________________________________________________________________ _World Wide Web FAQ_ HTML EDITORS Some editors are WYSIWYG (What You See Is What You Get), or close to it; others simply assist you in writing HTML by plugging in the desired markup tags for you from a menu. The latter are surprisingly useful, and the former surprisingly limited. As a rule of thumb, if you are keenly interested in using the very latest new HTML feature, you will probably be disappointed with WYSIWYG editors. Some WYSIWYG editors do support entry of unfamiliar tags, however. A few can even display them in the color or style of your choice. This document covers editors for the following systems: * HTML editors for the Mac * HTML editors for Microsoft Windows * HTML editors for Unix (non-graphical) * HTML editors for the X Window System * Miscellaneous editors HTML Editors for the Mac Web Warrior Web Warrior is a free HTML editor which features user-definable tags, command key equivalents, HTML correctness checking, and "semi-WYSIWYG" editing. HTML-HyperEditor HTML-HyperEditor allows for European non-English characters, imports existing HTML files, and has built-in FTP compatibility for easy installation of your finished HTML. HTML-HyperEditor also provides a facility to convert tab-delimited text files to HTML tables (most spreadsheets can "save as" ASCII, and this program can be used to convert the result to a table). HTML Editor A near-WYSIWYG package URL is ). A stand-alone program. ANT_HTML ANT_HTML is a Microsoft Word for the Macintosh template designed to convert Word documents into HTML documents in a WYSIWYG environment. It includes a utility to convert existing HTML files for editing within the system. ANT_PLUS also converts HTML files to ASCII, RTF, or any other format possible in Word. ANT_HTML works in all versions of Word, including international versions. ANT_HTML supports customization; when new tags appear, the user can add them even though they did not exist when ANT_HTML was installed. Also available for Windows. See for more information. GT_HTML GT_HTML is also a Microsoft Word 6.0 (or higher) for Windows or Macintosh template to create HTML documents under Word. Limited support for tables is included. BBEdit HTML extensions This package of extensions allows the BBEdit and BBEdit Lite text editors for the Macintosh to conveniently edit HTML documents. (URL is .) You can also obtain the extensions package by anonymous ftp from sumex-aim.stanford.edu as info-mac/bbedit-html-ext-b3.hqx. Also see below. BBEditTools There is an alternative BBEdit extension package available as well (URL is ) . it is available by FTP from ftp.york.ac.uk in the directory /pub/users/ld11/BBEdit_HTML_Tools.sea.hqx. SoftQuad HoTMetaL SoftQuad's HoTMetaL is a WYSIWYG HTML editor designed from the ground up to edit HTML. Unlike HTML modes for existing word processors, every aspect of HoTMetaL reflects this purpose. Web-Knitter Web-Knitter is an HTML editor for the Macintosh which claims ease of use. html-helper-mode for EMACS Users of the EMACS editor will want to consider html-helper-mode, an EMACS "mode" for HTML editing (see ). NaviPress NaviPress is a combination WYSIWYG HTML editor/Web browser with remote save functionality, an unusual convenience. Version 1.1 supports much of HTML 3.0, and it includes site and link management features. HTML Editors for Microsoft Windows ANT_HTML ANT_HTML is a Microsoft Word template designed to convert Word documents into HTML documents in a WYSIWYG environment. It includes a utility to convert existing HTML files for editing within the system. ANT_PLUS also converts HTML files to ASCII, RTF, or any other format possible in Word. ANT_HTML works in all versions of Word, including international and 32-bit versions. ANT_HTML supports customization; when new tags appear, the user can add them even though they did not exist when ANT_HTML was installed. Also available for the Macintosh. See for more information. GT_HTML GT_HTML is a Microsoft Word 6.0 (or higher) for Windows or Macintosh template to create HTML documents under Word. Limited support for tables is included. TC-Director TC-Director is a standalone HTML editor for Windows. TC-Director supports all standard HTML 2.0 tags and allows insertion of new tags as well. "Creation wizards" are provided to assist in the correct entry of the more complex tags. Internet Assistant Microsoft has released Internet Assistant, a Word for Windows template which can edit HTML in a WYSIWYG manner, including the capability to load existing HTML documents. It also includes simple browsing capabilities, intended to assist in editing. WebMania WebMania is an HTML editor with unusually strong support for frames, JavaScript, and forms. Most notable is the ability to painlessly review the output of forms submitted via mailto: links, sidestepping the need for CGI programming. DiDa DiDa is a free HTML editor by Godfrey Ko. The editing window is non-WYSIWYG, but a WYSIWYG previewer is included, and the previewer lets you see how your page will look with or without a Netscape-compatible browser. NaviPress NaviPress is a combination WYSIWYG HTML editor/Web browser with remote save functionality, an unusual convenience. Version 1.1 supports much of HTML 3.0, and it includes site and link management features. Quarterdeck WebAuthor Yet another commercial Word for Windows HTML editing template is available from Quarterdeck (URL is ) and is rumored to be superior to Internet Assistant. HTML Assistant A non-WYSIWYG editor called HTML Assistant is available, with features to assist in the rapid creation of HTML documents. A good choice for experienced HTML authors wishing to save keyboarding time. Available by anonymous FTP from ftp.cs.dal.ca in the directory /htmlasst/. Read the README.1ST file in this directory for information on which files to download. See also: HTMLed HTMLed is a well-reviewed non-WYSIWYG HTML editor. The Pro version features context-sensitive highlighting of HTML tags, a near-WYSIWYG feature. The Pro version can also directly import RTF documents for easy conversion of existing documents. EdWin EdWin is a Windows-based non-WYSIWYG HTML editor which supports a wide range of tags. Live Markup ( ) is a WYSIWYG HTML editor for Windows which insulates the user completely from HTML. Excel 5.0 to HTML Table Creator Most HTML editing facilities leave out table-editing capabilities. Fill that gap with Jordan Evans' Excel 5.0 to HTML Table Converter (URL is ). WEB Wizard For beginners in search of a quick and easy way to build a home page, consider WEB Wizard (URL is ), a simple package which prepares a home page after a question-and-answer session with the user. 16-bit and 32-bit Windows versions are available. HTML Writer A simple, useful non-WYSIWYG HTML editor that cooperates closely with most web browsers is HTML Writer, . "Donationware." SoftQuad HoTMetaL SoftQuad's HoTMetaL is a WYSIWYG HTML editor designed from the ground up to edit HTML. Unlike HTML modes for existing word processors, every aspect of HoTMetaL reflects this purpose. Visual HTML++ Ellussion offers a basic, very easy-to-use WYSIWYG HTML creation tool. Visual HTML++ can create attractive, simple HTML documents but cannot edit existing HTML pages. Shareware. WebEdit WebEdit is a non-WYSIWYG editor with a WYSIWYG previewer and a WYSIWYG editor for HTML 3.0 tables. Spell-checking is standard, and support is claimed for all HTML 3.0 features. See: Emissary Wollongong's Emissary is a complete Internet software suite which includes WYSIWYG HTML editing features (see ). html-helper-mode for EMACS Users of the EMACS editor will want to consider html-helper-mode, an EMACS "mode" for HTML editing (see ). Gomer Gomer is a straightforward non-WYSIWYG editor with basic tag-match checking. HTML Editors for Unix (non-graphical) html-helper-mode for EMACS Users of the EMACS editor will want to consider html-helper-mode, an EMACS "mode" for HTML editing (see ). HTML Editors for the X Window System NaviPress NaviPress is a combination WYSIWYG HTML editor/Web browser with remote save functionality, an unusual convenience. Version 1.1 supports much of HTML 3.0, and it includes site and link management features. asWedit (URL is ) asWedit is a friendly, graphical editor for the X Window System on many Unix platforms. asWedit validates HTML and does not allow tags to be entered in the wrong context. TkWWW (URL is ) TkWWW supports WYSIWYG HTML editing, and since it's also a browser, you can try out links immediately after creating them. Phoenix A fully WYSIWYG HTML editor which insulates the user from direct control of the HTML tags. Available by anonymous FTP from www.bsd.uchicago.edu in the pub/phoenix subdirectory. ASHE A WYSIWYG HTML editor which takes advantage of the NCSA Mosaic HTML "widget" (URL is ). htmltext htmltext supports WYSIWYG HTML editing. More information is available at the URL . html-helper-mode for EMACS Users of the EMACS editor will want to consider html-helper-mode, an EMACS "mode" for HTML editing (see ). WebAuthor A fully WYSIWYG commercial HTML editing product from Silicon Graphics (URL is ). SoftQuad HoTMetaL SoftQuad's HoTMetaL is a WYSIWYG HTML editor designed from the ground up to edit HTML. Unlike HTML modes for existing word processors, every aspect of HoTMetaL reflects this purpose. Miscellaneous editors HTML Interactive Editor The HIE takes advantage of Netscape 2.0's JavaScript and frames features to split the screen between a text editing window and a rendered view of the HTML. Works on any platform that supports Netscape 2.0. html-helper-mode for EMACS Users of the EMACS editor will want to consider html-helper-mode, an EMACS "mode" for HTML editing (see ). jed jed, by John Davis, is a general-purpose text editor with a special HTML mode which can highlight tags and perform other context-sensitive tasks. Available by anonymous FTP from space.mit.edu in the directory: /pub/davis/jed HTML DTD Another option, if you have an SGML editor, is to use it with the HTML DTD (URL is ). NCSA's List of Filters and Editors See for an another list of available HTML editing products. _________________________________________________________________ _World Wide Web FAQ_ CONVERTING OTHER FORMATS TO HTML There is a collection of filters for converting your existing documents (in TeX and other non-HTML formats) into HTML automatically, including filters that can allow more or less WYSIWYG editing using various word processors: Rich Brandwein and Mike Sendall's List (URL is http://www.w3.org/hypertext/WWW/Tools/Filters.html ). (Note that this URL contains uppercase and lowercase letters; certain operating systems such as VMS require you to quote mixed-case URLs when launching a borwser from the command line. This is NOT a bug in the browser.) _________________________________________________________________ _World Wide Web FAQ_ CHECKING YOUR HTML FOR ERRORS Tools to validate your HTML documents (check them for errors) are available. There is a form at the URL which will check HTML documents for errors according to the latest specification; note that you are encouraged to set up the program on your own system if you make heavy use of the form. There is also a tool which will check the links in your documents for links to nonexistent resources, such as pages that have moved (URL is http://wsk.eit.com/wsk/dist/doc/admin/webtest/verify_links.html ). Also try weblint (URL is http://www.khoros.unm.edu/staff/neilb/weblint.html ), a Perl script that checks your HTML for errors; you can even try it out over the web through an HTML form. The script is available by anonymous FTP from ftp.khoros.unm.edu in the directory pub/perl/www. Another such tool is htmlchek (URL is: http://uts.cc.utexas.edu/~churchh/htmlchek.html ), which checks HTML documents for errors, creates a cross-reference, automatically expands entities (such as European characters) to their proper HTML form, and performs other useful services. htmlchek is available by anonymous FTP from ftp.cs.buffalo.edu in the directory pub/htmlchek. lvrfy is a simple, Unix-based link-checking program which checks your pages for broken links (URL is ). Checker, at , is another useful broken-link finder; binaries are available for numerous systems. _________________________________________________________________ _World Wide Web FAQ_ HOW CAN I "INCLUDE" ONE HTML DOCUMENT IN ANOTHER? Often HTML authors have a copyright notice, logo or other piece of HTML which needs to be included on many different pages. Doing this by hand is, obviously, painful. One might think there would be an tag, much like , to include one document in another. But this has several problems, one of which is that it would require opening a second connection to the server. This is very inefficient (translation: SLOW for your readers). "So what can I do about it?" The most common solution is the "server-side include" mechanism. The NCSA web server, among others, can be configured to recognize documents ending in ".shtml" instead of ".html" as documents that it should scan for server-side include commands referencing other documents or scripts. This is much more efficient because the server, which presumably has direct access to the files involved, does all the work. For details, see the NCSA server documentation . Also see the documentation of the WebCom server , which is particularly clear on this topic. Most servers do handle server side includes in a manner consistent with these two. _________________________________________________________________ _World Wide Web FAQ_ CAN I PUT A BACK BUTTON IN MY HTML PAGE? The short answer: "no." The user is well aware of the "back" button in their web browser and will use it when appropriate. The long answer: if you are writing a CGI program, you may be able to take advantage of the HTTP_REFERER environment variable, which sometimes contains the URL of the page the user came from. This information is intended to help you discover which pages link to your own. However, there is no guarantee that HTTP_REFERER will be set, or that it will be set to the immediately previous page. Also, if the user follows such a link, the real "back" button will not behave as the user might reasonably expect afterwards. Under most circumstances, you are best off exhorting the user to "back up to the previous page." All web browsers offer such a feature. _________________________________________________________________ _World Wide Web FAQ_ HOW CAN I CREATE A CUSTOM BACKGROUND AND SET THE COLORS FOR MY WEB PAGE? The capability to do this was introduced by Netscape in version 1.1 of that product. By now, many web browsers support it. This is accomplished using attributes of the tag. HTML authors who are unfamiliar with the tag need to know that the ... tags should enclose everything in the document except for the tag at the beginning. (The <TITLE> tag should be enclosed in a <HEAD> tag, although this is optional. For further details about the proper syntax of an HTML page, consult the w3 consortium web pages <URL:http://www.w3.org/>.) The following short HTML document makes extensive use of this feature. Try pasting this HTML into a file and opening it with your web browser. <HEAD> <TITLE>Color Test<TITLE> </HEAD> <BODY BGCOLOR="FFFFFF" TEXT="000000" LINK="00FF00" VLINK="CC33FF" ALINK="FF0000"> <H1>Color Test</H1> <P> This page contains black text on a white background. <a href="http://www.boutell.com/">Links</a> are displayed in green. Once visited, links are displayed in yellow. When active, links are be displayed in red. </BODY> The BGCOLOR attribute sets the background color. The TEXT attribute sets the text color. The LINK attribute sets the color for links. The VLINK attribute sets the color for links you have already visited, and the ALINK attribute sets the color for links that are active at that moment. "Sure, but what do the numbers and letters mean?" Those are hexadecimal digits: two digits for red, two digits for green, and two digits for blue. 00 is black (absence of color) and FF is maximum intensity. _Fortunately,_ you don't need to understand that. Just use Doug Jacobson's RGB Hex Triplet Color Chart <URL:http://www.phoenix.net/~jacobson/rgb.html>, which provides the appropriate values for lots of nifty colors. _Please note:_ if your page is difficult to read, people will not read it. Please use the background attributes tastefully unless it is your intention to alienate your readership. "How about background images?" To set a background image, use the BACKGROUND attribute of the <BODY> tag. For instance, a page with the body tag <BODY BACKGROUND="tile.gif" BGCOLOR="FFFFFF"> displays the contents of the image file tile.gif as its background. If the user prefers not to load images, which is quite common, then the BGCOLOR attribute is used instead (see above). It is important to set a reasonable BGCOLOR as an alternative to your BACKGROUND attribute. For More Information A separate FAQ <URL:http://www.sci.kun.nl/thalia/guide/color/faq.html> on the subject is maintained by Mark Koenen. Consult that document for more information. A library of background images, icons and replacements for the normal <HR> tag is also available. <URL:http://jupiter.ufr924.jussieu.fr:1998/nabil.html> _________________________________________________________________ _World Wide Web FAQ_ HOW DO I GENERATE WEB PAGES FROM A PROGRAM (CGI)? ARE THERE LIBRARIES TO MAKE IT EASIER? Most web servers support one variation or another of a standard for adding your own programs to the web server. The standard is called CGI (Common Gateway Interface). Marc Hedlund has written a FAQ on CGI programming (URL is <URL:http://www.best.com/~hedlund/cgi-faq/> ) which makes a good introduction to the subject. The standard itself can be found at NCSA (URL is <URL:http://hoohoo.ncsa.uiuc.edu/> ). For tips on overcoming common CGI problems, consult the CGI problems section and the section on granting CGI access to users. Perl CGI programmers will be interested in the CGI Perl modules <URL:http://www-genome.wi.mit.edu/WWW/tools/scripting/CGIperl/>, which provide an elegant Perl 5 interface to CGI programming. C-language CGI programmers will want to consider the author's cgic library. <URL:http://www.boutell.com/cgic/> Another C-language library for CGI programming is cgihtml <URL:http://hcs.harvard.edu/~eekim/web/cgihtml/> from Eugene Kim. A third library is libcgi from EIT. <URL:http://wsk.eit.com/wsk/dist/doc/libcgi/libcgi.html> Borland Delphi enthusiasts should check out the Delphi class library for WIN-CGI programming offered by HREF Tools Corporation. <URL:http://www.href.com/> Turbo Pascal for Windows users will be interested in a Turbo Pascal WINCGI interface written by Markus Schlarmann. <URL:http://141.2.61.48/tpwcgi/tpwcgi.htm> C-language CGI programmers of the Macintosh system should check out Grant's C-language CGI framework for the Mac. <URL:http://arpp.carleton.ca/grant/mac/grantscgi/> _________________________________________________________________ _World Wide Web FAQ_ HOW CAN I KEEP "STATE" INFORMATION BETWEEN CALLS TO MY CGI PROGRAM? Using Hidden Form Fields One valid approach is to use hidden fields in forms. For example: <INPUT TYPE=hidden NAME=state VALUE="hidden info to be returned with form"> By now, most browsers can handle the hidden type, but understand that some browsers will fail to hide the field (and probably confuse the user). Note that "hidden" doesn't mean "secret"; the user can always click on "view source." The ugliness of a "hidden" field appearing on a browser that doesn't understand hidden fields can be minimized by setting SIZE=0 for that attribute. Using PATH_INFO Another approach is to take advantage of the PATH_INFO environment variable. PATH_INFO contains any additional text in the URL that accessed the CGI program *after* the name of the CGI program itself. For instance, if your CGI program's URL is: http://mysite.com/cgi-bin/mycgi But you open the following URL instead: http://mysite.com/cgi-bin/mycgi/Bob/27 The program "mycgi" will still be executed -- and the environment variable PATH_INFO will contain the text /Bob/27. You can take advantage of this by always outputting URLs that contain the state information you are trying to keep from one call to the next. Keep in mind that URLs are limited to 1024 characters; browsers are not required to cope with more than that. If you need more, or dislike long URLs, simply keep the name of a temporary file in the PATH_INFO section of the URL and store information about that session in the temporary file. Using HTTP "Cookies" "Cookies" are a new mechanism, proposed by Netscape, which allows the browser to keep state information supplied to it by the server. The next time a request is made for a URL in a particular portion of the server, the relevant "cookie" will be sent to the server as part of the request! Cookies are currently implemented by Netscape and by Microsoft's Internet Explorer (2.0). By the time you read this more browsers may support them. But it is best to ensure that your pages are still usable without them. For example, your CGI program might output the following to set a cookie. (Note that the Set-Cookie header must appear in its entirety on one line.) Content-type: text/html Set-Cookie: cookiename=valueofcookie; expires=Saturday, 28-Feb-96 23:59:59 GMT; path=/cgi-bin/mycgiprogram <h1>Web page follows.<h1> This sets a cookie which will always be sent _back_ to your server along with every request for a document on your server with a local URL beginning with /cgi-bin/mycgiprogram. The cookie will continue to be sent until the expiration time. The expiration time should be set using Greenwich Mean Time as shown above, but note that the browser may have a poor idea of the local time zone. For that reason it is best to set cookies to expire at least 24 hours in the future. When your CGI program is accessed again by the user, the cookies sent by the browser will appear in the HTTP_COOKIE environment variable. each cookie will appear as a NAME=VALUE pair; pairs will be separated by a semicolon followed by optional white space. As with form submissions, unusual characters in cookies should be escaped using the %xx notation (% followed by two hexadecimal digits specifying the ascii code of the character). See Netscape's Cookie Specification Page <URL:http://www.netscape.com/newsref/std/cookie_spec.html> for more detailed and precise information. _________________________________________________________________ _World Wide Web FAQ_ HOW CAN I IDENTIFY THE USER WHO IS ACCESSING MY CGI SCRIPT? Five important environment variables are available to your CGI script to help in identifying the end user. HTTP_FROM This environment variable is, theoretically, set to the email address of the user. However, many browsers do not set it at all, and most browsers that do support it allow the user to set any value for this variable. As such, it is recommended that it be used only as a default for the reply email address in an email form. REMOTE_USER This variable only set if secure authentication was used to access the script. The AUTH_TYPE variable can be checked to determine what form of secure authentication was used. REMOTE_USER will then contain the name the user authenticated under. Note that REMOTE_USER is only set if authentication was actually used, and is not supported by all web servers. Authentication may unexpectedly fail to happen under the NCSA server if the method used for the transaction is not listed in the access.conf file (ie, <Limit GET POST> should be set rather than the default, <Limit GET>). REMOTE_IDENT This variable is set if the server has contacted an IDENTD server on the client machine. This is a slow operation, usually turned off in most servers, and there is no way to ensure that the client machine will respond honestly to the query, if it responds at all. REMOTE_HOST This variable will not identify the user specifically, but does provide information about the site the user has connected from, if the hostname was retrieved by the server. In the absence of any certainty regarding the user's precise identity, making decisions based on a list of trusted addresses is sometimes an adequate workaround. This variable is not set if the server failed to look up the host name or skipped the lookup in the interest of speed; see REMOTE_ADDR below. Also keep in mind that you may see all users of a particular proxy server listed under one hostname. REMOTE_ADDR This variable will not identify the user specifically, but does provide information about the site the user has connected from. REMOTE_ADDR will contain the dotted-decimal IP address of the client. In the absence of any certainty regarding the user's precise identity, making decisions based on a list of trusted addresses is sometimes an adequate workaround. This variable is always set, unlike REMOTE_HOST, above. Also keep in mind that you may see all users of a particular proxy server listed under one address. _________________________________________________________________ _World Wide Web FAQ_ MY CGI SCRIPTS DON'T WORK. HOW CAN I DEBUG THEM? Several common causes are described here. Note that every web server is different; your mileage will almost certainly vary. In particular, Windows and Macintosh servers differ drastically from Unix servers. See your server's documentation. The Server Must Recognize Your Program Simply linking from your page to an executable program or script won't cause it to be run by the server. There are two common arrangements: either files in directories specially designated by the server administrator are executed as CGI scripts, or files with a special extension (such as .cgi) are executed as CGI scripts. These are just two possible ways your server might be configured. Many sites don't allow users to run CGI scripts at all. _Consult your web server's administrator._ Always Output a MIME Type Every CGI script must output a _MIME type_ indicating what kind of document it is producing. If your script outputs an HTML page, the correct format is: Content-type: text/html Followed by _two_ line feeds (ascii 10 decimal). _After_ the MIME type, output the desired HTML. Always Flush Output On many systems, unexpected problems can result when a CGI script outputs a MIME type, then executes another program to generate output. To prevent such problems, flush standard output before executing other programs. If your script is written in C, the proper code is usually: fflush(stdout); Permissions and Paths: Why Can't My Script Access My Files? CGI programs typically execute with a current directory and user ID that differ from your personal home directory and user ID. When you write CGI programs, make sure any files accessed are accessed by absolute path (beginning from the root of the file system). Also, users of multiuser systems such as Unix may have to grant all users read access or even write access to data files using the chmod command. This is not an ideal situation. Better servers run your CGI programs using your user ID. Talk to your admin if you have difficulties in this area. When One Browser Works and Another Doesn't Some browsers are tolerant of incorrect Content-type headers, as well as of null characters in text/html or text/plain output. Make sure your output is strictly correct; it helps to check the script with Netscape, Mosaic and Lynx. _________________________________________________________________ _World Wide Web FAQ_ HOW CAN I MAKE SURE MY CGI-GENERATED PAGE IS NOT CACHED BY THE CLIENT? If your CGI-generated page is intended to produce completely different content on each access, it is important to convince the web client _not_ to display a cached copy the next time the user accesses it. One workaround is to make sure that all links the CGI program generates to itself contain a unique, random piece of information which is then ignored by the program when it arrives as part of the PATH_INFO environment variable. But this is not ideal, since the user will still see the same output again upon returning to a bookmark. However, consider the following alternatives: Some browsers support the Pragma: no-cache header. In this case, the following output at the beginning of your CGI program will specify both the content type and the fact that the page should never be cached: Content-type: text/html Pragma: no-cache Note the two carriage returns at the end, always required before the beginning of the actual document. Alternatively, if the page is "good" for some fixed amount of time, the "Expires:" HTTP header can be used to specify the time after which the page must be fetched again. _Important:_ The Greenwich Mean Time (GMT) must be specified, not the local time. _________________________________________________________________ _World Wide Web FAQ_ HOW CAN USERS SEND ME COMMENTS AND/OR EMAIL? There are two ways: Using a mailto: URL You can simply create a link which looks like this: <A HREF="mailto:me@my.address">Send Me Mail</A> This works great for browsers that support the mailto: URL. Perhaps 80% of web users will be able to use such a link. But not all browsers support it. Installing a comment form If you have access to the server's configuration files, or if your server administrator permits users to create their own CGI scripts, you can create a form which sends mail to you from any browser that supports forms. A really flexible package for this is the mit-dcns-cgi package (URL is <URL:http://web.mit.edu/wwwdev/www/dist/mit-dcns-cgi.html> ). I've written a simple email forms package (URL is <URL:http://www.boutell.com/email/> ), which does it in ANSI C. There is also a package written in Perl, known as the WWW Mailto Gateway (URL is <URL:http://www.mps.ohio-state.edu/mailto/mailto_info.html> ). GetComments (URL is <URL:http://seclab.cs.ucdavis.edu/~hoagland/>) is a more general package, also written in Perl, which can do many different things in response to a form submission. Tcl programmers may wish to try J.M. Ivler's TCL mail forms package <URL:http://www.crl.com/~ivler/jmi.html>. InfoMania offers a tool called Uniform which automatically formats e-mail based on the input received from a form posting. This "one size fits all" CGI program is a convenient alternative to writing custom CGI programs. <URL:http://www.mornini.com/> Macintosh users should check out forms.acgi <URL:http://www.biola.edu/cgi-bin/forms/>, a comment-handling package for Macintosh web servers. If you want to learn how these forms actually work, see the entry on CGI scripts. _________________________________________________________________ _World Wide Web FAQ_ WHERE CAN I LEARN HOW TO CREATE FILL-OUT FORMS? Writing an HTML form is easy, but the form doesn't accomplish anything until you write a CGI program to interpret the results on the server side! For more information, see the section on CGI scripts. _"I know how to write CGI programs, I just don't know how to write forms in HTML."_ See the w3 consortium pages <URL:http://www.w3.org/hypertext/WWW/MarkUp/html-spec/> for the HTML specification. Also consult virtually any book about HTML for information about forms. A good HTML reference guide is a worthwhile investment. See the section on email forms for a simple solution to the most commonly desired form. _________________________________________________________________ _World Wide Web FAQ_ HOW CAN I CREATE DECENT-LOOKING TABLES AND STOP USING <PRE>... </PRE>? Tables are a standard feature in HTML Level 3, a new version of HTML. Unfortunately, not all browsers implement them, although they are supported by the latest versions of Netscape, NCSA Mosaic, and Viola. There is a way to use HTML Level 3 tables while writing your pages and convert them automatically to HTML 2.0, allowing you to design proper tables and install those pages directly when table support arrives in whatever clients your users prefer. You can do this using the html+tables package, by Brooks Cutter (bcutter@paradyne.com), which is available for anonymous ftp from sunsite.unc.edu in the directory pub/packages/infosystems/WWW/tools/html+tables.shar. This package requires the shell language Perl, which is primarily used on Unix systems but is also available for other systems (such as MSDOS machines). html+tables accepts HTML Level 3 and outputs html using the <PRE>...</PRE> construct to represent tables, allowing you to write HTML Level 3 now, knowing that it will look better when clients are ready for it. (This is less of an issue now that table support is becoming widespread in better browsers.) _________________________________________________________________ _World Wide Web FAQ_ HOW CAN I USE INLINE IMAGES WITHOUT ALIENATING MY USERS? If you pay any attention to comments from users of your web pages, you will quickly learn that 500K GIFs are only pretty to the four or five users who have a personal T1 line. I'm exaggerating, but not all that much. It's astonishing how many web site producers have never tested their site through one of the 14.4kbps modems (that's only 1600 bytes per second on a good day, remember) that the _actual customer_ is using. But inline images can be useful, provocative and amusing. What can be done to make them available to those who can wait for them and unobtrusive to those who can't? 1. _ALWAYS_ Provide alternatives to imagemaps Even users who run Netscape often turn off image loading or don't want to wait long enough for an interlaced GIF to become recognizable on their screen in order to navigate your site. Always provide a set of text-based links to the same destinations. 2. Keep image file sizes modest For ways to make your images download faster _without_ throwing away image quality, see the guidelines maintained by the Bandwidth Conservation Society (URL is <URL:http://www.infohiway.com/way/faster> ). 3. Provide a text-only page If you follow the guidelines above, you may not need to provide a text-only version of your page, but if you insist on having an image-heavy page, provide a plaintext page as well. Please consider the needs of blind users as well as those with limited bandwidth, and keep in mind that nearly _all_ your users are in the latter category and will be for several years yet! 4. Use WIDTH and HEIGHT <IMG> attributes Many browsers, especially Netscape, support the WIDTH and HEIGHT attributes to the <IMG> tag. By indicating the size of your image in the <IMG> tag, you let the browser format the entire page without waiting for that image to start downloading. This allows the user to read your page much sooner and makes images much less annoying. _Tip:_ although Netscape supports scaling the image by specifying a WIDTH and HEIGHT that do not actually match the image size, using this feature is not recommended. Not all otherwise compatible browsers handle this scaling feature, and some older versions of Netscape have trouble with it also. _________________________________________________________________ _World Wide Web FAQ_ HOW CAN I CREATE ANIMATIONS IN MY WEB PAGE? There are now several ways to create animations in a web page. These include server push, GIF89 multi-part image files, MPEG and QuickTime plug-ins, Shockwave, and various Java applets designed to present animations. At the moment, nearly all of these options are limited to various versions of the Netscape browser only. Right now, the best way to create simple animations that can be seen by any user of Netscape 2.0 for any platform without breaking other browsers too severely is probably GIF89 animation. This is an especially good solution because these multi-part GIF files simply display their first frame (and do not animate) on browsers that don't support animation. This works because the GIF89 standard has included the little-used multi-image feature for a long time and existing GIF viewers know how to at least ignore the later frames. This is an easy way to achieve backwards compatibility with older browsers. One tool that can be used to create such GIF89 animations on the PC platform is GIFMake <URL:http://www.fastlane.net/~samiel>. Tools are also available for other platforms (submissions welcome!). One note of warning: Netscape always delays one-tenth of a second between frames, regardless of the frame delay you set in your GIF89 file. _________________________________________________________________ _World Wide Web FAQ_ HOW CAN I DISTRIBUTE AUDIO THROUGH THE WEB? Not all web browsers have audio support built-in, but nearly all can launch external "viewers" to handle audio. These player programs are widely available as freeware or shareware for most architectures (or standard with your operating system). Audio is a particularly thorny case owing to the need to download the entire audio program before it can be heard. Fortunately, there are now systems available which avoid this problem by playing the audio as it is downloaded. RealAudio By Progressive Networks (URL is <URL:http://www.realaudio.com> ). The RealAudio player can communicate with a specialized RealAudio server in order to play back audio as it is downloaded, eliminating download delays even over long distances and slow modems. RealAudio now supports a variety of quality levels and non-audio features such as HTML pages displayed in synchronization with the audio. RealAudio players are available for Microsoft Windows, the Macintosh, and several Unix platforms. StreamWorks By Xing Technology (URL is <URL:http://www.xingtech.com/>). StreamWorks also provides streaming audio playback, again in conjunction with a special StreamWorks server. Video is also available and can be played back over modems at reduced frame rates. StreamWorks players are available for Microsoft Windows, the Macintosh and several Unix platforms. Winplay Winplay <URL:http://www.iis.fhg.de/departs/amm/layer3/winplay3> is unusual in that it offers very high-quality audio using MPEG Level 3 compression, which is currently not available in other products. For Windows only at the time of this writing. Winplay does not currently offer a specialized streaming server. VocalTec VocalTec <URL:http://www.vocaltec.com/> also offers streaming audio technology for the web. VocalTec's Internet Wave product is available for the Microsoft Windows platform only. _________________________________________________________________ _World Wide Web FAQ_ HOW CAN I GENERATE GIFS ON THE FLY FROM MY CGI SCRIPTS? If you want to generate GIF images on the fly as part of your application, examine the gd library (URL is: http://www.boutell.com/gd/ ). _Hint:_ your HTML page and your inline images are separate documents with separate URLs. Generate them in response to separate requests! (Yes, there are tricks to speed this up, but be careful not to break inline images on HTML pages you didn't write that refer to your gd-generated image.) Adaptations of gd are available for Tcl, Perl, Python, and other languages. See the gd page, listed above, for more information. Macintosh users should look into clip2gif (available by anonymous FTP from orathost.cfa.ilstu.edu in the directory /public/oratClasses/ART389.88Seminar/software and from many other sites including Info-Mac in the directory gst/grf). clip2gif supports assembling images from other images via AppleScript. Perl users may also be interested in pgperl <URL:http://www.ast.cam.ac.uk/~kgb/pgperl.html>, an extended version of Perl which supports GIF output and can be used to good effect in CGI applications. It's also possible to use gnuplot and the pbmplus utilities. These approaches is slower, but can require less programming if gnuplot is sufficient for your purposes. (See archie for both tools.) _________________________________________________________________ _World Wide Web FAQ_ WHAT IS HTML LEVEL 3 AND WHERE CAN I LEARN MORE ABOUT IT? HTML Level 3, formerly known as HTML+, is an enhanced version of HTML designed to address some of the limitations of HTML. HTML Level 3 supports true tables, right-justified text, centered text, line breaks that do not double space, and many other desired features. However, most clients support only a handful of HTML Level 3 features at the time of this writing. The most commonly implemented major feature is table support. If you have access to a Unix system with the X Window System installed, you can try out many features of HTML Level 3 using the experimental Arena browser. You can access information about new developments in HTML at the CERN server (at the URL http://www.w3.org/hypertext/WWW/MarkUp/MarkUp.html ). (HTML Level 1 is the original version. HTML Level 2 is essentially the same, but with the addition of forms.) _________________________________________________________________ _World Wide Web FAQ_ HOW DO I COMMENT AN HTML DOCUMENT? Place <!-- at the beginning of EACH line commented out; close this for EACH line with --> . Note that comments do not nest, and the sequence "--" may not appear inside a comment except as part of the closing --> tag. You should _not_ try to use this to "comment out" HTML that would otherwise be shown to the user, since some browsers (notably Mosaic) will still pay attention to tags inside the comment and close it prematurely. _Thanks to Joe English for clearing up this issue._ _________________________________________________________________ _World Wide Web FAQ_ HOW DO I SET UP A CLICKABLE IMAGE MAP? There are really two issues here: how to indicate in HTML that you want an image to be clickable, and how to configure your server to do something with the clicks returned by Netscape, Mosaic, and other clients capable of delivering them. Client side imagemaps, a new feature of Spyglass Mosaic, Microsoft Internet Explorer and Netscape (2.0 and beyond), change this picture by allowing imagemaps to be created as part of an HTML document without the need for special server software. One of the best resources available on the subject is the Imagemap Help Page <URL:http://www.hway.net/ihip/>, maintained by Steve Rogers. You can read also about image maps and the NCSA server at <URL:http://hoohoo.ncsa.uiuc.edu/docs/tutorials/imagemapping.html> ). Also see Joseph Walker's collection of imagemap resources (URL is <URL:http://www2.ncsu.edu/bae/people/faculty/walker/hotlist/imagemap.h tml > ). Using imagemaps requires that you create a map file; you can do this by hand or with a WYSIWYG tool. _VERY IMPORTANT:_ Creating server-side imagemaps, which all web browsers understand, requires a real web server (not an FTP server) and a cooperative web server administrator. _It is not usually as simple as wrapping a link around an IMG SRC tag and adding the ISMAP directive;_ the server must also be told about the map file, and the way to accomplish this varies from server to server. So _read your server documentation,_ and don't waste time making maps before making sure you have the necessary tools to deliver them. What about "client-side" imagemaps? Several of the newer browsers, notably Microsoft Internet Explorer, Spyglass Mosaic and Netscape 2.0 and later, support "client-side" imagemaps. This is a Good Thing, because the imagemap is part of the HTML page and a server need not be involved. However, keep in mind that not every user has a browser that supports such imagemaps. Client-side imagemaps can be used side by side with old-fashioned server-side imagemaps,which are used if the browser does not understand the newer type. Many of the imagemap editors listed below support the creation of both types of maps. Programs to Edit Imagemaps Mapedit The author's Mapedit (URL is <URL:http://www.boutell.com/mapedit/> ) is a straightforward WYSIWYG imagemap editing tool for both Microsoft Windows and the X Window System. Versions 2.0 and later support client-side imagemaps, will open GIF, JPEG and PNG-format images, and offer new editing controls. Mapedit makes it particularly easy to create client-side imagemaps by opening existing HTML documents directly. Shareware. Map THIS Map This (URL is: http://galadriel.ecaetc.ohio-state.edu/tc/mt) is a feature-laden WYSIWYG imagemap editing tool for Microsoft Windows 32-bit environments (Win32s, Windows 95 or Windows NT required; Win32s is available from Microsoft's FTP site, ftp.microsoft.com, among other places). Supports both client-side and server-side imagemaps. Free. Web Hotspots Web Hotspots (URL is <URL:http://www.hooked.net/users/1auto> ) is a feature-rich imagemap editor for all Windows sytems, supporting zoom, advanced shape manipulation, and multiple-document interface. The latest version has support for client-side imagemaps, subtracting interior regions from hotspots, live testing if you are connected to the net, and other high-end features. Shareware. HoTTmapP Another WYSIWYG imagemap editor for Windows. Features permanent associations between images and map files for convenient reopening and manipulation of existing shapes. The capability to merge data from multiple MAPs is also provided. See <URL:http://www.tikipub.com/jc/> for more information. MapMaker For users of John Bradley's _xv_ image display software for the X Window System, Mapmaker can turn the miniature images created by xv's Visual Schnauzer into an imagemap. This is useful if you would like to make an entire directory of images available (but note that you should also make textual links to allow those with text- based browsers to download the images for external viewing). (URL is: http://icg.stwing.upenn.edu:80/~mengwong/mapmaker.html ) MacMapMaker On the Macintosh, you may want to use MacMapMaker <URL:ftp://ftp.uwtc.washington.edu/pub/Mac/Network/WWW> MacMapMaker produces both NCSA and CERN-compatible maps, which can also be used with MacImagemap and a Macintosh-based server (MacImagemap is found in the same directory). WebMap The original macintosh Imagemap editor. <URL:http://www.city.net/cnx/software/webmap.html> Tkmapedit For Unix systems and other systems on which the Tk/Tcl language toolkit has been installed, Tkmapedit provides a WYSIWYG imagemap editor which is capable of directly testing links if the tkWWW web browser is available. Available by anonymous FTP from the TCL archive on ftp.aud.alcatel.com. glorglox For Unix systems, glorglox is a unique imagemapping tool which allows color indexes in GIF images to be associated with URLs. It's easier to use this than to describe it (or pronounce it), so check out the glorglox home page (URL is <URL:http://www.uunet.ca/~tomr/glorglox/> ). _________________________________________________________________ _World Wide Web FAQ_ HOW CAN I MAKE TRANSPARENT AND INTERLACED GIFS? AND WHAT ARE THEY? Transparent GIFs are useful because they appear to blend in smoothly with the user's display, even if the user has set a background color that differs from that the developer expected. They do this by assigning one color to be transparent -- if the web browser supports transparency, that color will be replaced by the browser's background color, whatever it may be. Interlaced GIFs appear first with poor resolution and then improve in resolution until the entire image has arrived, as opposed to arriving linearly from the top row to the bottom row. This is great to get a quick idea of what the entire image will look like while waiting for the rest. This doesn't do much for you if your web browser doesn't support progressive display as the image is downloaded, but non-progressive-display web browsers will still display interlaced GIFs once they have arrived in their entirety. You can make transparent and interlaced GIFs through the web without running any utility software on your own system through the Visioneering image manipulation page (URL is <URL:http://www.vrl.com/Imaging/>), which will access your image through the web and produce an enhanced version for you to save. To create transparent and interlaced GIFs under Unix, check out David Koblas' giftool, a program which can manipulate those options and many more aspects of your GIF file. For Windows PCs, try Lview Pro, version 1A or later, available by anonymous FTP from oak.oakland.edu in the directory SimTel/win3/graphics: <URL:ftp://oak.oakland.edu/SimTel/win3/graphics> As well as from many mirror sites. You can also create transparent and interlaced GIFs using the widely available NETPBM tools (an enhanced version of the older pbmplus tools, which do _not_ support these options). The following Unix shell script, contributed by Shane Castle, can make any GIF image transparent if a recent version of the netpbm utilities has been installed: #!/bin/sh if [ $# -lt 2 ] then echo "Usage: transparize gifname color" echo " gifname - name of GIF file" echo " color - color ID to make transparent" exit 1 fi giftoppm $1 | ppmtogif -interlace -transparent $2 > /tmp/$$.gif if [ $? -eq 0 ] then mv /tmp/$$.gif $1 else rm /tmp/$$.gif fi Make the script executable using the chmod command. Usage is as follows: transparize <image.gif> <transparent-color> In addition, there is a document explaining transparent GIFs available at the URL http://melmac.corp.harris.com/transparent_images.html . You can fetch the program giftrans by anonymous ftp from ftp.rz.uni-karlsruhe.de at the path /pub/net/www/tools/giftrans.c. There is also a Perl Script (URL is: <URL:http://www.wg.omron.co.jp/~jfriedl/perl/#transgif> ) which makes transparent GIFs. There are also five utilities for the Macintosh, Transparency ( <URL:http://www.med.cornell.edu/~giles/projects.html#transparency> ), Graphic Converter (available from the "usual Macintosh FTP sites", such as mac.archive.umich.edu; see the Macintosh newsgroups for general information on where to retrieve Macintosh software), Imagery (again, available from many Macintosh FTP sites), and clip2gif (available by anonymous FTP from orathost.cfa.ilstu.edu in the directory /public/oratClasses/ART389.88Seminar/software and from many other sites including Info-Mac in the directory gst/grf). A unique approach to the problem is offered by Imagizer (URL is <URL:http://www.minet.com/minet/imagizer.html> ), which transforms your images on the fly when sending them to the user, supporting thumbnails and TIFF-GIF conversion as well as interlacing. (Of course, there is a tradeoff between storage space and CPU usage.) _________________________________________________________________ _World Wide Web FAQ_ WHY DO MY TRANSPARENT GIFS LOOK (GRAINY, CHUNKY, NOT SO TRANSPARENT)... This is usually due to a browser bug. Make them non-transparent or accept that a particular browser will not display them very well. In particular, some browsers do not display transparent GIFs well in 16-color modes under Windows. You may also wish to respectfully suggest to users of 16-color Windows that they try switching to a 256-color mode. Most graphics cards support 256 colors, but a surprising number of machines are configured for 16 colors instead. _________________________________________________________________ _World Wide Web FAQ_ WHICH FORMAT IS BETTER FOR WWW IMAGE PURPOSES, JPEG OR GIF? Almost all browsers can view inline JPEG, and there are free libraries available to do that, so the remaining browser vendors are _very short on excuses._ There is no need to avoid inline JPEG any longer. So the proper question is, which format is better for your specific purpose? JPEG is for photographic images. GIF is for line-art images, such as icons, graphs and line-art logos. You will very likely find that JPEG produces smudgy line art and GIF produces large and washed-out photographs. Use them accordingly. However, _never convert GIF to JPEG_ if you can possibly help it. Once your photograph has been reduced to the mere 256 colors supported by GIF, it's too late. Go straight from a lossless 24-bit format supported by your scanner, such as TIFF or PNG, to JPEG. Since JPEG is an approximate representation of the image, you shouldn't save things as JPEG and then edit them further later and save them again. You can expect progressive loss of quality each time you do that, especially with different JPEG quality settings. If you must edit a photographic image, work with it in TIFF or PNG format until it is ready for publication, then convert it to JPEG for the web. If your images can't tolerate being reduced to 8 bits for GIF _or_ losing precise accuracy for JPEG, TIFF and PNG are your best options. Web browsers are beginning to support the latter, and many external viewers support both. The vast majority of web sites should be using GIF for line art and JPEG for everything else, and migrating from GIF to PNG as browser support for PNG becomes more widely available. Also see the Independent JPEG Group's JPEG FAQ <URL:http://www.cis.ohio-state.edu/hypertext/faq/usenet/jpeg-faq/top.h tml> for more information about JPEG and software that can produce JPEG-format images, including progressive JPEGs. _________________________________________________________________ _World Wide Web FAQ_ WHAT'S A PROGRESSIVE JPEG? HOW CAN I MAKE ONE? "Progressive" JPEG is a new variation on the JPEG image format. (This document also offers a comparison of the JPEG and GIF formats.) Progressive JPEGs are like interlaced GIFs in that they "fade in" gradually instead of being drawn from top to bottom. This enables the viewer to understand what the image is about very quickly. Progressive JPEG is much smoother than progressive GIF. There is one problem: most web browsers _don't support progressive JPEG yet._ This means that progressive JPEG images will _not_ display in those browsers at all (they will appear to be "broken"). Netscape's Netscape Navigator 2.0 beta 1 and Spyglass' Enhanced Mosaic 2.1f5 and later _do_ support progressive JPEG. _A note to browser authors:_ the independent JPEG group library supports progressive JPEG, so get off your butts and implement it! This is impressive stuff, and there are no fees to use the technology. "OK, I understand that not everyone can see progressive JPEGs yet. How do I make these nifty new images?" InTouch Technology <URL:http://www.in-touch.com/pjpeg.html> offers an informative page on the subject, including information about their Image Transmogrifier software, which can produce progressive JPEG images. Also see the Independent JPEG Group's JPEG FAQ <URL:http://www.cis.ohio-state.edu/hypertext/faq/usenet/jpeg-faq/top.h tml> for more information about JPEG and software that can produce JPEG-format images, including progressive JPEGs. _________________________________________________________________ _World Wide Web FAQ_ CAN I BUY SPACE ON AN EXISTING SERVER? Yes, you can. A list of sites offering WWW space for lease is available (at the URL http://union.ncsa.uiuc.edu/HyperNews/get/www/leasing.html ). _________________________________________________________________ _World Wide Web FAQ_ HOW DO I MAKE A "LINK" THAT DOESN'T LOAD A NEW PAGE? Such links are useful when a form is intended to perform some action on the server machine without sending new information to the client, or when a user has clicked in an undefined area in an image map; these are just two possibilities. A CGI script (see the CGI section) can accomplish this by outputting just the following: Status: 204 No Content Followed by two line feeds (ascii 10 decimal). The web browser will take no action. _________________________________________________________________ _World Wide Web FAQ_ HOW CAN I REDIRECT THE BROWSER TO A DIFFERENT PAGE? It is possible to redirect the browser to a different URL, effectively "forwarding the call" to a different page. To do this, either take advantage of the redirection features offered by your web server or write a CGI program which outputs the following: Location: http://desiredsite.com/desiredpath/document.html Note that two line breaks must follow this line. A few older browsers may have difficulty following such directives. You can combat this problem by outputting a short page of HTML to the user after the above information, explaining that the page has moved. There are also a few browsers which expect to see a URI: header as well as a Location: header. If you wish to be agonizingly thorough, output both headers before the double line break. _________________________________________________________________ _World Wide Web FAQ_ HOW CAN THE USER DOWNLOAD BINARIES (SUCH AS .ZIP AND .EXE FILES) FROM MY SERVER? There is no specialized <DOWNLOAD> tag in HTML. Just do two things: link to the binary in question using a normal <A HREF=...> tag, and make sure that your web server is configured to output a reasonable content type for .zip, .ZIP, .exe and .EXE files. You probably do not want to edit the mime.types file of your server, because new versions of this file regularly become available with new versions of the web server. Instead, under the NCSA server and its derivatives, use the AddType and AddEncoding commands in your server configuration file. After making a change to your configuration files, always signal the server process to reexamine those files by using the kill -1 command. Consider adding the following lines: AddType application/zip zip AddType application/zip ZIP AddType application/octet-stream exe AddType application/octet-stream EXE In general, the content type application/octet-stream is an excellent choice when there is no appropriate "external viewer." A typical browser will then prompt the user to save the file. However, if there _is_ a more appropriate content type, you should of course use that type instead. On occasion, users may have encountered very badly behaved servers which encourage users to set up a specialized external viewer for the application/octet-stream content type. This makes life difficult for everyone. _Programmers: please don't encourage users to configure an external viewer for application/octet-stream. That content type should be reserved for downloads. If you have created an external viewer for a brand-new form of information, invent a new and appropriate content type for your application's data and configure your server to output that content type. Make your content type known to the public aand to the authors of web servers so it can be added to the mime.types file._ "How do I suggest a filename?" To encourage the user to save the file under an appropriate filename, do the following: * Tell the user exactly what name to save the file under, in case the web browser is not cooperative and suggests an absurd filename or no filename at all. * Make sure the URL the user is accessing actually ends in a reasonable filename. (This warning is intended primarily for CGI programmers. Under normal circumstances this is not a problem.) "So I can use http to download binaries?" Yes, and practically all browsers are bright enough to save them properly if you follow the suggestions above. It is not necessary to use the ftp protocol for binary downloads. _________________________________________________________________ _World Wide Web FAQ_ HOW CAN I MIRROR PART OF ANOTHER SERVER? Scripts are available to do this, but at this time they are not very friendly to the server you are attempting to mirror; their behavior resembles that of the more poorly written WWW robots. If you are trying to improve access times to a distant server, you will likely find the "proxy" capabilities of CERN's WWW server to be a more effective and general solution to your problem. If you are interested in mirroring part of a server you control, perhaps to improve reliability by providing alternatives, then there are many available mirroring tools. Keep in mind such simple possibilities as (under Unix) a cron job that tars and compresses the web site on the "master" server at a particular time of day, and another cron job on the "slave" server which takes advantage of the lynx browser to retrieve that document, then uncompresses and untars it. For many purposes, such simple mirroring setups are effective and near-foolproof. _________________________________________________________________ _World Wide Web FAQ_ DO MAILTO: URLS WORK IN ALL BROWSERS? The mailto: URL is a feature found in Lynx, Netscape, Spry Mosaic, the latest NCSA Mosaics, Emacs w3 mode and many other browsers. In general, about 80% of web browsers support mailto: at the time of this writing. However, it is not in numerous older browsers. It is of course also possible to set up forms which send mail to you; see the entry regarding email forms. _________________________________________________________________ _World Wide Web FAQ_ HOW CAN I SERVE [WORD DOCUMENTS, EXCEL SPREADSHEETS, DOUGHNUTS]? In order to deliver documents of new and different types from your server, you need to configure the correct "content type" for each type of document, and use the proper extension when naming the file on the server. If the document type is highly unusual, you will also need to see to it that users know what content type to configure their browsers for, and what application to launch for that content type. Presented below is a list of the better-known content types with commentary on those the author is familiar with. This information is drawn from appendix 2 of the author's book, CGI Programming in C and Perl <URL:http://www.boutell.com/cgibook/>. The original list of content types was taken from the public domain NCSA web server <URL:http://hoohoo.ncsa.uiuc.edu/>. Please note: new media types are coming into existence regularly. The official registry is often well behind actual practice. This list is based on that included with NCSA's public domain web server as of September 1995. No attempt is made here to document the format of the data associated with these mime types. This list is intended to make it easier to determine what content type should be assigned to documents produced by various well-known applications. Media Content Type Comments application/activemessage application/andrew-inset application/applefile application/atomicmail application/dca-rft application/dec-dx application/mac-binhex40 application/macwriteii MacWrite Document application/msword Microsoft Word Document application/news-message-id application/news-transmission application/octet-stream Use for binary file downloads application/oda application/pdf Adobe Acrobat Documents application/postscript Postscript application/remote-printing application/rtf Rich Text Format application/slate application/x-mif application/wita application/wordperfect5.1 WordPerfect 5.1 Documents application/wordperfect6.0 WordPerfect 6.0 Documents application/x-csh Potentially dangerous [1] application/x-dvi TeX/LaTeX Output (not TeX source) application/x-hdf application/x-latex LaTeX Source application/x-netcdf application/x-sh Potentially dangerous [1] application/x-tcl Potentially dangerous [1] application/x-tex TeX Source application/x-texinfo application/x-troff Troff Formatter Source application/x-troff-man Troff Source, -man argument assumed application/x-troff-me Troff Source, -me argument assumed application/x-troff-ms Troff Source, -ms argument assumed application/x-wais-source application/zip Many users have ZIP helper apps application/x-bcpio application/x-cpio cpio tape format (Unix) application/x-gtar gnu tar tape format (Unix) application/x-shar Potentially dangerous [1] application/x-sv4cpio application/x-sv4crc application/x-ustar audio/basic Sun-style .au format audio audio/x-aiff Amiga-format .aiff audio audio/x-wav Microsoft Windows-format .wav audio image/gif Compuserve GIF 8-bit lossless images image/ief image/jpeg JPEG lossy photographic images image/png w3 consortium PNG lossless images image/tiff TIFF format images image/x-cmu-raster image/x-portable-anymap netpbm/pbmplus images (any subtype) image/x-portable-bitmap netpbm/pbmplus black and white images image/x-portable-graymap netpbm/pbmplus grayscale images image/x-portable-pixmap netpbm/pbmplus truecolor images image/x-rgb image/x-xbitmap X Window System black and white images image/x-xpixmap X Window System color images image/x-xwindowdump X Window System screen dump format message/external-body message/news message/partial message/rfc822 multipart/alternative multipart/appledouble multipart/digest multipart/mixed Server push multipart/parallel text/html HTML documents text/x-sgml SGML documents, not limited to HTML text/plain Plain ASCII text text/richtext This is not RTF (see above) text/tab-separated-values Useful for spreadsheet interchange text/x-setext video/mpeg MPEG video format; common on PCs, Unix video/quicktime Apple video format video/x-msvideo Microsoft/Intel AVI video format video/x-sgi-movie [1]: Browsers should almost never be configured to execute shell scripts. This is a dangerous practice as the script in question could simply consist of rm * or another harmful command. Those interested in sending code to the browser should consider safe scripting languages such as Java, Safe-TCL and PGP-SafePerl. _________________________________________________________________ _World Wide Web FAQ_ HOW DO I PUBLICIZE MY WORK? There are several things you can do to publicize your new HTML server or other offering: * Post to comp.infosystems.www.announce. PLEASE READ THE CHARTER POSTING FIRST. In general, always read a newsgroup first to familiarize yourself before posting to it. * Submit it to Yahoo (URL is <URL:http://www.yahoo.com/> ), an impressive index of the web which expands its knowledge automatically but permits the direct submission of URLs as well. * Submit it to a large number of different catalogs using Submit It <URL:http://www.submit-it.com/>, a service which allows you to register with many indexes by filling out a single form. * A similar one-step submission service is entitled wURLd Presence <URL:http://www.ogi.com/wurld/>. * Submit it to the NCSA What's New Page at the URL http://www.ncsa.uiuc.edu/SDG/Software/Mosaic/Docs/whats-new.html (see the page for details on how to submit your listing!). * Register your URL in the Lycos Database (URL is <URL:http://www.lycos.com/> ). * Submit your URL to the maintainers of various catalogs, such as the WWW Virtual Library (at the URL http://www.w3.org/hypertext/DataSources/bySubject/Overview.html ) and the ALIWEB index (at the URL http://web.nexor.co.uk/aliweb/doc/aliweb.html ). * Read Gareth Rees' guide to publishing on the World Wide Web. (URL is http://www.cl.cam.ac.uk/users/gdr11/publish.html ). * Consult Pete Page's How to Announce your New Web Site (URL is <URL:http://ep.com/faq/webannounce.html> ). _________________________________________________________________ _World Wide Web FAQ_ HEY, I KNOW, I'LL WRITE A WWW-EXPLORING ROBOT! WHY NOT? Programs that automatically traverse the web can be quite useful, but have the potential to make a serious mess of things. Robots have been written which do a "breadth-first" search of the web, exploring many sites in a gradual fashion instead of aggressively "rooting out" the pages of one site at a time. Some of these robots now produce excellent indexes of information available on the web. But others have written simple depth-first searches which, at the worst, can bring servers to their knees in minutes by recursively downloading information from CGI script-based pages that contain an infinite number of possible links. (Often robots can't realize this!) Imagine what happens when a robot decides to "index" the CONTENTS of several hundred mpeg movies. Shudder. The moral: a robot that does what you want may already exist; if it doesn't, please study the document World Wide Web Robots, Wanderers and Spiders (URL is: http://web.nexor.co.uk/mak/doc/robots/robots.html ) and learn about the emerging standards for exclusion of robots from areas in which they are not wanted. You can also read about existing robots there. _________________________________________________________________ _World Wide Web FAQ_ HOW CAN I PUT AN ACCESS COUNTER ON MY HOME PAGE? First of all, don't. It defeats caching proxy servers, putting more load on your server. It forces your server to run an external program for every page with a counter on it, putting more load on your server. And it advertises your demographics or lack of them to the world. _"Yeah, but I want to know how many people are accessing my page."_ Of course you do. Use one of the many statistics tools available to analyze the access log of your web server. Even if you are not the webmaster of your server, your admin will probably give you read-only access to the log files. Also check out Tim Drozinski's amazing FAQ on counting accesses without the need for CGI programs <URL:http://erau.db.erau.edu/~tjd/log_faq.html>. Most of the techniques recommended there don't abuse the server, which is a Good Thing. _"I want an access counter anyway."_ In that case, in addition to Tim Drozinski's page above, consider the index of access counter software at Yahoo (URL is <URL:http://www.yahoo.com/Computers/World_Wide_Web/Programming/Access_ Counts/> ). Keep in mind that you must have CGI access at a minimum, and server-side includes must also be turned on unless you are willing to build your entire page with CGI or use a program that generates the access count as an inline image. None of the above approaches are efficient. _________________________________________________________________ _World Wide Web FAQ_ ARE THERE BOOKS ABOUT THE WEB? Yes, quite a few. A sampling of the available books in several categories follows. _New entries are solicited._ Please include ISBN numbers and/or ordering information. Table of Contents * General WWW Topics * HTML Publishing * CGI Programming * Server Administration * Java Programming * Books about Browsers General WWW Topics World Wide Web: Beneath the Surf From UCL Press. By Mark Handley and Jon Crowcroft. A look at the technologies that underly the World Wide Web. The authors have taken the unusual step of making the entire book available online <URL:http://www.cs.ucl.ac.uk/staff/jon/book/book.html>. ISBN: 1-85728-435-6. The World Wide Web Handbook From International Thomson Computer Press. 350 pages. Covers getting connected to the web, designing HTML pages, and establishing a web server. Includes additional material on SGML and information regarding HTML 3.0. GBP 26.50. ISBN: 1-850-32205-8. The Mosaic Handbook (Mac, Windows and X editions) From O'Reilly. A short, sweet guide to the World Wide Web from a Mosaic user's perspective. Mac and Windows versions Include Enhanced NCSA Mosaic on floppy disk; the X Window System version includes NCSA Mosaic on CD-ROM. Telnet or gopher to gopher.ora.com (log in as gopher) or find details on the web ( Mac: <URL:http://www.ora.com/gnn/bus/ora/item/mosmac.html>, Windows: <URL:http://www.ora.com/gnn/bus/ora/item/moswin.html>, and X Window System <URL:http://www.ora.com/gnn/bus/ora/item/mosx.html>). Wherever books with arcane fauna on the cover are sold. Using the World Wide Web From Que. Ed. by Que Development Group. ISBN: 0-7897-0016-6. The World Wide Web Unleashed From Sams Publishing. By John December and Neil Randall. Additional chapters contributed by others, including myself. Covers both user and provider issues. Recently updated. Supporting pages available on the web (URL is http://www.rpi.edu/~decemj/works/wwwu.html ). 1057 pages. ISBN: 0-672-30617-4. Call 1-800-428-5331 or +1-317-581-3500 for ordering information. HTML Publishing Do-It-Yourself Web Publishing with Word From Sybex. By Asha Dornfest. This book covers how to use Microsoft Word for Windows and the Microsoft Internet Assistant to create HTML pages. ISBN: 0-7821-1807-0. More information is available on the Web. <URL:http://www.dnai.com/~asha/webpub.htm> Spinning the Web: How to Provide Information on the Internet From Van Nostrand Reinhold. By Andrew Ford. Oriented toward those with an interest in putting their data on the web. ISBN: 1-850-32141-8 (New York), 0-442-01962-9 (London). Teach Yourself Web Publishing with HTML in a Week From Sams Publishing. By Laura Lemay. Also oriented toward those who plan to publish materials on the web. ISBN: 0-672-30667-0. 400 pages. Includes information on setting up servers and handling forms results as well as HTML writing and editing. (URL is: http://www.lne.com/Web/Books ) Call 1-800-428-5331 or +1-317-581-3500 for ordering information. The HTML Manual of Style From Ziff-Davis Press. By Larry Aronson. Chapters: introduction to the WWW, the HTML language, writing HTML documents, and HTML examples. 120 pages. Available in December 1994. HTML Web Publisher's Construction Kit From Waite Group Press. $36.95. 700 pages. By David Fox and Troy Downing. Covers the proposed HTML 3.0 standard, CGI programming, server setup, and browser and editor issues. CD included. For more information, see <URL:http://found.cs.nyu.edu/downing/htmlbook.html>. The HTML Sourcebook From John Wiley and Sons. 411 pages. By Ian S. Graham. Contains a detailed description of HTML 2.0, including allowed element nestings, as well as descriptions of many HTML 3.0 features. There are also chapters on CGI and the HTTP protocol, complete with examples, and chapters discussing browsers, editors, servers and archive sites containing useful CGI programs and Web development tools. A review can be found at <URL:http://mirror.wwa.com/mirror/reviews/books/95/htmlsb.htm> . ISBN: 0-471-11849-4. HTML and CGI Unleashed From Sams Publishing. By John December and Mark Ginsburg. $49.99. 830 pages. Includes CD-ROM. covers the complete life cycle of web development: planning, analysis, design, and HTML implementation and gateway programming using Perl, REXX, and C. ISBN: 0-672-30745-6. <URL:http://www.rpi.edu/~decemj/works/hcu.html> Foundations of World Wide Web Programming with HTML and CGI From IDG Books Worldwide, Inc. By Ed Tittel, Mark Gaither, Sebastian Hassinger, and Mike Erwin. ISBN: 1-56884-703-3. HTML Reference Card From SSC. 16-panel reference card. Covers basic and advanced HTML tags. $4.50. ISBN: 0-916151-79-4. HTML Pocket Reference Card From Specialized Systems Consultants, Inc. 16-page reference foldout. $4.50. Covers HTML, URLs and related topics. ISBN 0-916151-79-4. How to Publish on the Internet From Warner Books. 275 pages. By Andrew Fry and David Paul. $17.95. Includes SPRY Mosaic software. A guide to publishing on the Web: HTML, graphics, style, strategies for maximizing audience by building information communities. Online "Next Chapter" includes an excerpt, New Tools review, links to Web publishing resources (URL is <URL:http://pathfinder.com/twep/Features/How_Pub_Web/How_Pub_We b.html> ). ISBN 0-446-67179-7. HTML Authoring for Fun and Profit From Prentice Hall. By Mary Morris. A step-by-step HTML tutorial, including an introduction to CGI. The table of contents and preface are available on the web <URL:http://www.sun.com/cgi-bin/show?smi/ssoftpress/books/Morri s/Morris.html>. ISBN: 0-13-359290-1. Server Administration How to Set Up and Maintain a World Wide Web Site: The Guide for Information Providers From Addison-Wesley. By Lincoln Stein. 469 pages. Covers all aspects of setting up a web server and publishing information on the Internet. ISBN: 0-201-63389-2. Managing Internet Information Services From O'Reilly and Associates. By Cricket Liu, Jerry Peek, Russ Jones, Bryan Buus & Adrian Nye. A good choice for those who will be installing and maintaining WWW servers; also includes documentation on HTML, imagemaps and the like. Also covers other types of Internet services. See <URL:http://www.ora.com/gnn/bus/ora/features/miis/index.html> for more information. Configuring and Troubleshooting Your Web Server From Prentice Hall. By Geoff Galitz and Mary Bennion. This book covers the configuration of several common Unix web servers in detail. Coverage of CGI and other issues is also provided. ISBN: 0-13-459405-3. The Web Server Book From Ventana Press. $49.95. 650 pages. By Jonathan Magid, R. Douglas Matthews, and Paul Jones (the sunsite.unc.edu team). A guide to creating a Web Server under Unix. Including server software, security, HTML, conversion, verification, graphics and multimedia, searching and indexing, forms, CGI, and next-generation developments. Includes CD-ROM with Linux, Netscape, and source and binaries for common UNIX platforms to all the tools discussed. Sample chapter, updates, and special order price available at <URL:http://www.vmedia.com/wsb.html>. ISBN: 1-56604-234-8. Running a Perfect Web Site From Que. 457 pages. By David M. Chandler. A complete guide to setting up a Web server, including hardware/communications issues, HTML, forms, CGI scripts, and server-side includes. Includes a CD containing Windows HTTPD, NCSA httpd for Unix, HTML authoring tools, and dozens of SLIP utilities. ISBN 0-7897-0210-X. Read more about it at <URL:http://www.netins.net/showcase/chandler/book.htm>. CGI Programming CGI Programming in C and Perl From Addison-Wesley Developers Press. By Thomas Boutell, author of the WWW FAQ. 375 pages. This book presents each sample program in both C and Perl and provides a full discussion of CGI, including issues such as generating graphics on the fly with the gd library. The cgi-lib and cgic libraries for easy CGI programming are emphasized. Reference manuals for cgic and gd are included. Available April 23rd, 1996. <URL:http://www.boutell.com/cgibook/> ISBN: 0-201-93329-2. Introduction to CGI/Perl: Getting Started with Web Scripts From M&T Books. By Steven E. Brenner and Edwin Aoki. 176 pages. A guide to creating interactive forms and dynamic content for the World Wide Web. Begining with a review of the communications technologies required to present an HTML page from either a static file or a script, the book goes on to introduce the essentials of the Perl language and the Common Gateway Interface (CGI), and then covers forms and the more advanced multi-part "comboforms." An online appendix is available on the web. <URL:http://www.mispress.com/introcgi/> ISBN:1-55851-478-3. CGI Programming on the World Wide Web From O'Reilly. 375 pages. By Shishir Gundavaram. A guide to CGI programming. "This book offers a comprehensive explanation of CGI and related techniques. It starts at the beginning, explaining the value of CGI and how it works, then moves swiftly into the subtle details of programming." Example programs are written in Perl (at least those available on the web site). A sample chapter is available on the web. <URL:http://www.ora.com/info/cgi/> ISBN: 1-56592-183-6. Java Programming Hooked on Java From Addison-Wesley. By Arthur van Hoff, Sami Shaio, and Orca Starbuck of Sun Microsystems, Inc. 181 pages. The people who created Java explain its advantages and present the language and how to use existing applets to improve web pages. <URL:http://www.aw.com/devpress/java/javasamp.html> ISBN 0-201-48837-X. Presenting Java From Sams Publishing. By John December. $25. 207 pages. This book presents Java's technical features, how Java works with the Web, examples of Java applications, how to use the HotJava browser, and the basics of the Java language, programming design, and implementation. ISBN: 1-575-21039-8. <URL:http://www.rpi.edu/~decemj/works/java.html> Books about Browsers Using Netscape From QUE. 350 pages. A user's guide to Netscape, including information on how to search the web and a disk containing Netscape itself. By Warren Ernst. ISBN: 0-7897-0211-8. $19.99 US. "Your Internet discount price: $15.99." The Internet via Mosaic and World-Wide Web From Ziff-Davis Press. By Steve Browne. Details on obtaining Mosaic and Trumpet Winsock, getting it all set up, and what to do with it once it works. A chapter of interesting sites on the Web as well. ISBN: 1-56276-259-1. MOSAIC Quick Tour From Ventana Press. By Gareth Branwyn. A good guide to installing and using NCSA Mosaic under Windows. Includes basic HTML and trouble-shooting chapters. "More hand-holding than the FAQ and gives lots of details." - Mari J. Stoddard Hands-On Mosaic: A Guide for Window Users From Prentice Hall. By Dr. David Sachs & Henry Stair. ISBN: 0-13-172321-9. NCSA Mosaic Handbook From Prentice Hall. By Amy K. Kreiling & Frank Baker. Jan 1995. ISBN: 0-13-196692-8. Plug-n-Play Mosaic for Windows From Sams. By Angela Gunn. ISBN 0-672-30627-1. 300 pages. Disks include a special version of Enhanced NCSA Mosaic for Windows with built-in TCP/IP Winsock and dialer, and an automated configuration program (hence "plug-n-play"). The book is an introduction to Mosaic and the Web with some coverage of creating a home page and HTML and, of course, the obligatory directory of Web sites. Using Mosaic From Que. Ed. by Que Development Group. ISBN: 0-7897-0021-2. Covers NCSA Mosaic for Windows and the Macintosh. Mosaic User's Guide From MIS Press. By Bryan Pfaffenberger. ISBN: 1-55828-409-5. Using Mosaic for Windows From Electric Avenue Press. By Stephen Gauer. ISBN: 0-969-8853-0-X. _________________________________________________________________ _World Wide Web FAQ_ WHAT MAILING LISTS DISCUSS THE WEB? There are many mailing lists about the web, and they come and go rather quickly. Please see the W3 Consortium mailing lists <URL:http://www.w3.org/hypertext/WWW/Mail/Lists.html> page and the W3 Consortium's list of other known mailing lists about the web <URL:http://www.w3.org/hypertext/WWW/Mail/Outside_mailing.html> for more information. _________________________________________________________________ _World Wide Web FAQ_ WHAT NEWSGROUPS DISCUSS THE WEB? You can find information about World Wide Web topics in fifteen distinct newsgroups. They are subdivided for good reasons; use the ONE newsgroup most relevant to your topic, please. _Read this FAQ and the newsgroup to look for your answer before you post._ Remember that other people pay for their net access as well. Note that three searchable archives of the www newsgroups are available: * American Web Services <URL:http://www.awebs.com/news_archive/> * Critical Mass Communications <URL:http://www.criticalmass.com/concord/index.htm> * DejaNews <URL:http://www.dejanews.com/> * AltaVista <URL:http://www.altavista.digital.com> (not specific to these newsgroups, but it can search them) * Authoring-Related Groups comp.infosystems.www.authoring.cgi This newsgroup covers discussion of the development of Common Gateway Interface (CGI) scripts as they relate to Web page authoring. Possible subjects include discussion how to handle the results of forms, how to generate images on the fly, and how to put together other interactive Web offerings. comp.infosystems.www.authoring.html This newsgroup covers discussion of HyperText Markup Language (HTML) as it relates to web page authoring. Possible subjects include HTML editors, formatting tricks, and current and proposed HTML standards. comp.infosystems.www.authoring.images This newsgroup covers discussion of the creation and editing of images as they relate to web page authoring. Possible subjects include how best to leverage the image-display capabilities of the web and common questions and solutions for putting up imagemaps. comp.infosystems.www.authoring.misc This newsgroup covers miscellaneous World-Wide Web authoring issues not covered by the other c.i.w.authoring.* groups. Possible subjects include the use of audio and video, etc. * Browser software -- related groups comp.infosystems.www.browsers.mac This newsgroup covers discussion of World-Wide Web browsers for the Macintosh platform. Possible subjects include configuration questions/solutions, external viewers (helper applications), and bug reports. comp.infosystems.www.browsers.ms-windows This newsgroup covers discussion of World-Wide Web browsers for the MS Windows and NT platforms. Possible subjects include configuration questions/solutions, external viewers (helper applications), and bug reports. comp.infosystems.www.browsers.x This newsgroup covers discussion of World-Wide Web browsers for the X-Window system. Possible subjects include configuration questions/solutions, external viewers (helper applications), and bug reports. comp.infosystems.www.browsers.misc This newsgroup covers discussion of World-Wide Web browsers for all other platforms. Possible subjects include configuration questions/solutions, external viewers (helper applications), and bug reports. Platforms included are Amiga, DOS (*not* Windows), VMS, and Unix text-mode. * Web Server -- related groups comp.infosystems.www.servers.mac This newsgroup covers discussion of World-Wide Web servers for the Macintosh (MacOS) platform. Possible subjects include configuration questions/solutions, security issues, directory structure, and bug reports. comp.infosystems.www.servers.ms-windows This newsgroup covers discussion of World-Wide Web servers for the MS Windows and NT platforms. Possible subjects include configuration questions/solutions, security issues, directory structure, and bug reports. comp.infosystems.www.servers.unix This newsgroup covers discussion of World-Wide Web servers for Unix platforms. Possible subjects include configuration questions/solutions, security issues, directory structure, and bug reports. comp.infosystems.www.servers.misc This newsgroup covers discussion of World-Wide Web servers for other platforms, such as Amiga, VMS, and others. Possible subjects include configuration questions/solutions, security issues, directory structure, and bug reports. * Other Discussion comp.infosystems.www.advocacy This newsgroup is for comments, arguments, debates, and discussions about which Web browsers, servers, external viewer programs, and other software is better or worse than any other. Posts should not be crossposted to this group and to any other Web group. However, this group is a good place to direct follow-ups if a thread in another Web group begins to take on a "this program is better than that one" flavor. Possible subjects include: "The web is better than print"; "Netscape is better than anything else"; "CERN httpd kicks butt"; etc. comp.infosystems.www.misc comp.infosystems.www.misc (unmoderated) provides a forum for general discussion of WWW (World Wide Web)- related topics that are NOT covered by the other newsgroups in the hierarchy. This will likely include discussions of the Web's future, politicking regarding changes in the structure and protocols of the web that affect both clients and servers, et cetera. * Announcements comp.infosystems.www.announce A newsgroup in which new web-related resources can be announced. READ THE GROUP FIRST to find the posting guidelines. * Obsolete Newsgroups comp.infosystems.www.providers This will be removed in July. comp.infosystems.www.users This will be removed in July. comp.infosystems.www Removed approximately a year ago. If your site still carries this group, ask your admin to remove it. _________________________________________________________________ _World Wide Web FAQ_ IRC CHANNELS ABOUT THE WEB (REAL-TIME CHAT) There is an IRC channel dedicated to the World Wide Web. IRC channels allow Internet users around the world to discuss topics in real-time. The channel is named, of course, www. Please note that the www channel is primarily a place to give and receive technical help, and do your own online research first before tuning in. Jeremy Meyers maintains a FAQ for this IRC channel <URL:http://www.lightning.net/www/wwwfaq.html>. If you are unfamiliar with irc, please check out the newsgroup alt.irc for more information. IRC clients are available for most personal computers and for Unix shell accounts (try the ircII command on many Unix systems; then type /channel #www to join the www channel). _________________________________________________________________ _World Wide Web FAQ_ CREDITS Copyright 1994, 1995, 1996 by Thomas Boutell and Boutell.Com, Inc. Maintainer (11/93 to present): Thomas Boutell, _<boutell@boutell.com>_ Former Maintainer (until 11/93): Nathan Torkington, _<Nathan.Torkington@vuw.ac.nz>_ _________________________________________________________________ _World Wide Web FAQ_