
(2)Viewers, Browsers, and WWW Performance
Huntley, Bittorf, and Taragin
Dermatology Online Journal, July 1995
Volume 1, Number1
www-faq2
Boutell, Thomas. World Wide Web Frequently Asked Questions (FAQ), Part 2/2. 15 Mar 1995. ============================================================================
==== ===
Path: bloom-beacon.mit.edu!senator-bedfellow.mit.edu!faqserv
From: boutell@netcom.com (Thomas Boutell)
Newsgroups:
comp.infosystems.www,comp.infosystems.www.misc,comp.infosystems.www.users,co
mp.i
nfosystems.www.providers,comp.infosystems.wais,comp.infosystems.gopher,comp.
info
systems,alt.hypertext,comp.answers,alt.answers,news.answers
Subject: World Wide Web Frequently Asked Questions (FAQ), Part 2/2
Supersedes: <www/faq/part2_794621914@rtfm.mit.edu>
Followup-To: comp.infosystems.www.misc
Date: 15 Mar 1995 20:07:00 GMT
Organization: Nerdsholm
Lines: 936
Approved: news-answers-request@MIT.Edu
Distribution: world
Expires: 5 Apr 1995 20:03:51 GMT
Message-ID: <www/faq/part2_795297831@rtfm.mit.edu>
References: <www/faq/part1_795297831@rtfm.mit.edu>
NNTP-Posting-Host: bloom-picayune.mit.edu
Summary: beginner & advanced world wide web questions-read before posting to
comp.infosystems.www.[...] newsgroups
X-Last-Updated: 1995/01/26
Originator: faqserv@bloom-picayune.MIT.EDU
Xref: bloom-beacon.mit.edu comp.infosystems.www.misc:23393
comp.infosystems.www.users:21204 comp.infosystems.www.providers:23169
comp.infosystems.wais:4441 comp.infosystems.gopher:16214
comp.infosystems:4355
alt.hypertext:6438 comp.answers:10666 alt.answers:8098 news.answers:37103
Archive-name: www/faq/part2
Last-modified: 1995/26/1
5.1: 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, you can 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.
5.2: Obtaining Servers
Servers are available for Unix, Macintosh, MS Windows, Windows NT,
OS/2, and VMS systems. If you know of a server for another operating
system, please contact me.
See http://info.cern.ch/hypertext/WWW/Daemon/Overview.html for more
information on writing servers and gateways in general.
5.2.1: UNIX SERVERS
NCSA httpd
NCSA has released a server, known as the NCSA httpd; it is
available at the URL ftp://ftp.ncsa.uiuc.edu/Web/ncsa_httpd .
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/ ).
CERN httpd
CERN's server is available for anonymous FTP from info.cern.ch
(URL is http://info.cern.ch/hypertext/WWW/Daemon/Status.html )
and many other places. Use your local copy of archie to search
for "www" in order to find a nearby site.
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, although it does not
have the server-side-script capabilities of the NCSA and CERN
servers. 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.
5.2.2: MACINTOSH SERVERS
There is a server for the Macintosh, MacHTTP, available at the URL
http://www.uth.tmc.edu/mac_info/machttp_info.html .
5.2.3: MS WINDOWS, IBM OS/2 AND MS WINDOWS NT SERVERS
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 ).
NCSA httpd for Windows
The NCSA httpd for Windows has most of the features of the Unix
version, including scripts (which generate pages on the fly
based on user input). It is available by anonymous FTP from the
ftp site ftp.alisa.com in the directory pub/win-httpd, and
documentation can be found at the URL
http://www.alisa.com/win-httpd/index.html .
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.
There is also a Windows NT version of SerWeb, available by
anonymous FTP from emwac.ed.ac.uk as /pub/serweb/serweb_i.zip.
WEB4HAM
Another Windows-based server, available by anonymous FTP from
ftp.informatik.uni-hamburg.de as /pub/net/winsock/web4ham.zip.
OS2HTTPD
An OS/2 server, written 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.
5.2.4: MSDOS AND NOVELL NETWARE SERVERS
KA9Q KA9Q NOS (nos11c.exe) is a internet server package for DOS that
includes HTTP and Gopher servers. 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 ).
5.2.5: 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.html
.
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 .
5.2.6: AMIGA SERVERS
NCSA's Unix server has been ported to the Amiga, and is bundled with
the AMosaic browser. See the URL
http://insti.physics.sunysb.edu/AMosaic/home.html for details.
5.2.7: VM/CMS SERVERS
A VM/CMS web server is available; see the URL
http://ua1vm.ua.edu/~troth/rickvmsw/rickvmsw.html for more
information. If you don't yet have a web browser to try this URL with,
check out the VM/CMS Browsers section.
5.2.8: YEAH, BUT WHICH 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
http://sunsite.unc.edu/boutell/faq/chart.html ). That document is also
available by anonymous FTP from ftp.netcom.com in the directory
pub/bo/boutell/faq.
5.3: Producing HTML documents
HTML is the simple markup system used to create hypertext documents.
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.
5.3.1: 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 plain text version (at the URL
ftp://ftp.ncsa.uiuc.edu/ncsapubs/WWW/HTMLPrimer.txt) and 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 .
5.3.2: HTML EDITORS
Of course, most folks would still prefer to use a friendlier,
graphical editor. 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.
Fans of the EMACS editor can use EMACS and html-helper-mode , an EMACS
"mode" for HTML editing (URL is http://www.reed.edu/~nelson/tools/ ).
There is also another Emacs HTML mode, html-mode.el (URL is
ftp://ftp.ncsa.uiuc.edu/Web/html/elisp/html-mode.el ).
For Microsoft Windows users, there is an editor called HTML Assistant
with features to assist in the creation of HTML documents. It can be
had 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.
ANT_HTML.DOT is a Word for Windows 6.0 template designed to convert
Word documents into HTML documents in a WYSIWYG environment. It
includes a demo version of the ANT_PLUS utility, which converts HTML
files to WYSIWYG. ANT_PLUS also converts HTML files to ASCII, RTF, or
any other format possible in Word 6.0. Contact jswift@freenet.fsu.edu
if you need more information.
A WYSIWYG editor for the Web, SoftQuad HoTMetaL, is available for
downloading at NCSA and numerous other sites. Many mirror sites exist;
if you can't get through to one, try another, don't give up! That's
what mirror sites are for. (Also be sure to use the copy closest to
you geographically if possible.) Hotmetal is available for both Sun
Sparc systems and Windows systems; note that Windows users need at
least 6 megabytes of free memory. (A 2-megabyte swap file should just
barely do the trick on a 4MB machine.)
Known mirrors:
* ftp://ftp.ncsa.uiuc.edu/Web/html/hotmetal/
* ftp://ftp.ifi.uio.no/pub/SGML/HoTMetaL
* ftp://sgml1.ex.ac.uk/SoftQuad
* ftp://src.doc.ic.ac.uk/packages/WWW/ncsa/html/hotmetal/
*
ftp://askhp.ask.uni-karlsruhe.de/pub/infosystems/mosaic/contrib/Sof
tQuad
* ftp://ftp.cs.concordia.ca/pub/www
*
You need a Sun SPARC or Microsoft Windows system and 6MB of disk (6MB
of RAM minimum for MS Windows; swap files count). Other Unix systems
may be supported by the time you read this; have a look on one of the
sites above.
Because it is context-sensitive, HoTMetaL guides users in creating new
HTML documents and in cleaning up old ones. A Publish command changes
appropriate SRC and HREF attributes from local paths to http
locations. For more information, FTP the README file from the same
directory, or send email to hotmetal@sq.com. A HoTMetaL Pro
commercially supported version is available for purchase from SoftQuad
and its resellers.
Also see Gabriel White's reviews of MS Windows HTML editors (URL is
http://werple.mira.net.au/%7Egabriel/web/html/editors/ ). Another
option, if you have an SGML editor, is to use it with the HTML DTD
(URL is http://info.cern.ch/hypertext/WWW/MarkUp/DTDHeading.html ).
An editor for all X users: TkWWW (listed above under X browsers)
supports WYSIWYG HTML editing; and since it's a browser, you can try
out links immediately after creating them.
Another editor for X users: Phoenix (URL is
http://www.bsd.uchicago.edu/ftp/pub/phoenix/README.html ) is 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.
Also for X users, there is a package called htmltext which supports
WYSIWYG HTML editing. More information is available at the URL
http://web.cs.city.ac.uk/homes/njw/htmltext/htmltext.html .
For Macintosh users, there is a near-WYSIWYG package called HTML
Editor (URL is http://dragon.acadiau.ca:1667/~giles/HTML_Editor).
ANT_HTML is a Word for the Macintosh template designed to convert Word
documents into HTML documents in a WYSIWYG environment. It includes a
demo version of the ANT_PLUS utility, which converts HTML files to
WYSIWYG. ANT_PLUS also converts HTML files to ASCII, RTF, or any other
format possible in Word. At the time of this writing it was scheduled
to have been released on the Macintosh (it has long been available for
Windows). Contact jswift@freenet.fsu.edu for more information. Also
for Macintosh users, the BBEdit HTML extensions allow the BBEdit and
BBEdit Lite text editors for the Macintosh to conveniently edit HTML
documents. (URL is http://www.uji.es/bbedit-html-extensions.html .)
You can also obtain the extensions package by anonymous ftp from
sumex-aim.stanford.edu as info-mac/bbedit-html-ext-b3.hqx.
There is an alternative BBEdit extension package available as well
(URL is http://www.york.ac.uk/~ld11/BBEditTools.html ). it is
available by FTP from ftp.york.ac.uk in the directory
/pub/users/ld11/BBEdit_HTML_Tools.sea.hqx.
NCSA's List of Filters and Editors, for which the URL is
http://www.ncsa.uiuc.edu/SDG/Software/Mosaic/Docs/faq-software.html#ed
itors, mentions several editors, including two for MS Windows. In some
cases, the "editor" amounts to a set of macros for an existing word
processor, which can provide a near-WYSIWYG environment.
Note that this URL contains uppercase and lowercase letters; certain
operating systems won't allow mixed case on the command line, or will
only allow it if it is quoted (VMS), so if you are launching Lynx or
another client and specifying a URL at the command line, try quoting
the URL in double-quotes ("URL").
5.3.3: 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 at CERN (URL is
http://info.cern.ch/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.)
There is also a Word for Windows template for writing HTML documents,
available at the URL http://www.gatech.edu/word_html/release.htm .
5.3.4: CHECKING YOUR HTML FOR ERRORS
Tools to validate your HTML documents (check them for errors) are
available. There is a form at the URL
http://www.hal.com/%7Econnolly/html-test/service/validation-form.html
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.
5.4: 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 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!).
* Post it to the newsgroup comp.infosystems.announce. Please read
the group first to get a feel for the contents. You should not
post to comp.infosystems.www.users,.misc,.providers, etc., but if
you feel compelled to do so, please choose .misc as announcements
are of interest to both providers and users (and those who wear
both hats).
* Submit it to the maintainers of various catalogs, such as the WWW
Virtual Library (at the URL
http://info.cern.ch/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 ).
5.5: 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/www/leasing.shtml ).
5.6: 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.
Unless you have a very large site, simultaneous access is not a
problem. If you have a very large site, you need as much bandwidth
as you can afford. There is a bit more about this below.
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.
Given the above guidelines, let's look at simultaneous access again.
Under the worst case conditions, you're using all of your line for
HTML pages, each of which takes 5 seconds to send, so your server is
sending 12 pages a minute, or 720 pages an hour, or 17,000 pages a
day (pages, not accesses; each inline image in a page generates an
access, unless the client cached it). This makes you one of the
busier sites on the web. While you'll have contention problems
before you get to this point, anything but a modem connection will
be sending most pages in a small fraction of five seconds, which
should leave plenty of bandwidth with no contention. If you have
this kind of access rates on a modem line, you should seriously
consider upgrading your connection.
The bottom line on simultaneous access is that the WWW server is
more likely to have contention with other uses of the line than with
itself. Since I don't know what else you use your line for, I can't
factor it in. You'll have to consider that issue yourself.
5.7.1: 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 Mosaic, Chimera, and other
clients capable of delivering them.
You can read about image maps and the NCSA server at the URL
http://hoohoo.ncsa.uiuc.edu/docs/setup/admin/Imagemap.html .
Using imagemaps requires that you create a map file; you can do this
by hand or with a WYSIWYG tool.
VERY IMPORTANT: Creating imagemaps 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.
Mapedit
Mapedit (URL is:
http://sunsite.unc.edu/boutell/mapedit/mapedit.html ) is a
WYSIWYG imagemap editing tool for Microsoft Windows and the X
Window System.
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 )
WebMap
On the Macintosh, you may want to use WebMap (URL is
ftp://ftp.uwtc.washington.edu/pub/Mac/Network/WWW ). . It
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). Alternatively, you may want to
use MacMapMaker, also available from
ftp://ftp.uwtc.washington.edu/pub/Mac/Network/WWW (the same
directory).
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.
5.7.2: 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.
Rob McCool of NCSA provided the following wisdom on the subject:
Yechezkal-Shimon Gutfreund (sg04@gte.com) wrote:
: Ok, here is another bizzare request from me:
: I am currently running scripts which I "DO NOT" want to return
: any visible result. That is, not text/plain, not text/HTML, not
: image/gif. The entire results are the side effects of the
: script and nothing should be returned to the viewer.
: It would be nice to have an internally supported null viewer
: so that I could do this, more "cleanly" (ok, ok, I hear your groans).
HTTP now supports a response code of 204, which is no operation. Some
browsers such as Mosaic/X 2.* support it. To use it, make your script
a nph script and output an HTTP/1.0 204 header. Something like:
HTTP/1.0 204 No response Server: Myscript/NCSA httpd 1.1
(You can learn more about nph scripts from the NCSA server
documentation at the URL http://hoohoo.ncsa.uiuc.edu/docs .)
Essentially they are scripts that handle their own HTTP response
codes.
5.7.3: 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 section 5.7.14.
See the section on email forms for a simple solution to the most
commonly desired form.
5.7.3.1: How can I create hidden fields in forms (keeping state)?
Use INPUT TYPE=hidden. An example:
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".
5.7.3.2: How can users send me email through their browsers?
There are two ways:
Using a mailto: URL
You can simply create a link which looks like this:
Send Me Mail
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 an email 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. I've written a simple email forms
package (URL is: http://siva.cshl.org/email/index.html ), which
does it in ANSI C. There is also a package written in Perl,
known as the WWW Mailto Gateway (URL is
http://www.mps.ohio-state.edu/mailto/mailto_info.html ).
GetComments (URL is:
http://everest.cs.ucdavis.edu/~hoagland/getcomments.html) is a
more general package, also written in Perl, which can handle
many different types of comment forms.
If you want to learn how these forms actually work, see section
5.7.14.
5.7.4: HOW DO I COMMENT AN HTML DOCUMENT?
Use the tag. Note that comments do not nest,
and the sequence "--" may not appear inside a comment except as part
of the closing --> tag. (It's officially allowed, but some browsers
won't handle it properly.)
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.
5.7.5: HOW CAN I CREATE DECENT-LOOKING TABLES AND STOP USING
...
?
Tables are a standard feature in HTML Level 3, a new version of HTML.
Unfortunately, they are at present implemented only by the latest NCSA
Mosaic versions and the Viola and Emacs-W3 browsers, to my knowledge.
In addition, most implementations are incomplete. In some
implementations, at the time of this writing, text in tables cannot be
selected and/or cannot be a link.
However, there is a way to use HTML Level 3 tables now and convert
them automatically to HTML, allowing you to design proper tables and
install those pages directly when table support arrives in the
majority of clients. 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
...
construct to represent tables, allowing you to write
HTML Level 3 now, knowing that it will look better when clients are
ready for it.
5.7.6: WHAT IS HTML LEVEL 3 AND WHERE CAN I LEARN MORE ABOUT IT?
HTML Level 3, also 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
(such as the partial implementation of tables in Mosaic) at the time
of this writing. 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://info.cern.ch/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.)
5.7.7: 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.
To create transparent and interlaced GIFs, check out David Koblas'
giftool, a program which can manipulate those options and many more
aspects of your GIF file.
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:
http://www.omron.co.jp:80/~jfriedl/perl/ ) which makes transparent
GIFs.
There is also a utility for the Macintosh, Transparency (URL is:
http://www.med.cornell.edu/~giles/projects.html#transparency).
5.7.8: HOW COME MAILTO: URLS DON'T WORK?
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. In the
meantime, you can set up forms which send mail to you; see Section
5.7.3.2.
5.7.9: 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. There is a tutorial on security
and user authentication with the NCSA server and Mosaic available,
written by Marc Andreessen (URL is
http://wintermute.ncsa.uiuc.edu:8080/auth-tutorial/tutorial.html ).
See your server documentation for further information.
5.7.10: WHICH FORMAT IS BETTER FOR WWW IMAGE PURPOSES, JPEG OR GIF?
JPEG does a better job with realistic images such as scanned
photographs. Most browsers cannot handle inline JPEGs, however, so you
must link to them as external images (using a regular