), 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 docu