ViewHEAD 1.0.2: Freeware HTTP utility for Win32
Copyright (C) 1999, Jem E. Berkes

E-mail:	berkes@altavista.net
Web:	http://jb-utils.dhs.org/
	http://alkaid.knotwork.com/

Comments, suggestions, bug reports welcome.

This program is freeware, but is not in the public domain.
Reverse engineering and/or code modification is strictly prohibited.
This software must be distributed in its entirety.

----------------------------------------------------------------------
PURPOSE

Whenever a web browser sends an HTTP request to a web server, it is
in turn sent a set of HTTP headers that contain valuable information
about the web server and the document which is about to be sent. These
headers are, for the most part, hidden because most newer browsers
don't give the user any way to see them.

ViewHEAD allows you to view these HTTP headers. It sends out a HEAD
request (which, by RFC 2068, "MUST be supported by all general-purpose
servers"), and shows the user the response from the web server.

Note: If you are behind some kind of a firewall or proxy server, you
may not be able to use ViewHEAD.

----------------------------------------------------------------------
MORE ABOUT HTTP HEADERS

The HTTP headers included in a server response often contain:
- The type of software that the web server is running
- The remote time and date
- The time and date when the file was last modified
- The MIME type of the returned file
- The size of the returned file
- Cookie settings

Here are the headers from http://www.apache.org/

HTTP/1.1 200 OK
Date: Fri, 12 Mar 1999 01:55:17 GMT
Server: Apache/1.3.5-dev (Unix) PHP/3.0.6
Content-Location: index.html
Vary: negotiate
TCN: choice
Cache-Control: max-age=86400
Expires: Sat, 13 Mar 1999 01:55:17 GMT
Connection: close
Content-Type: text/html

----------------------------------------------------------------------
USING THE PROGRAM

ViewHEAD uses a very straightforward GUI interface. Enter a host name
in the Host field, enter a valid Path or file (default /), and enter
the Port number (default 80). When you click the "View" button, the
program will try to connect to the host, send an HTTP HEAD request,
and download the returned headers. The headers will be shown in the
"Response from server" box. You can then use the "Reset" button to
set all fields back to the defaults. "Abort" can be used at any time
(except during host lookup) to abort the connection.

ViewHEAD is multithreaded, so it will not hang while connecting.

Remember to enter a host name into the Host box, not an entire URL.

For example, the URL "http://www.server.com/directory/file" should be
entered as www.server.com (Host), /directory/file (Path), and default
Port 80 (no change).

----------------------------------------------------------------------
TECHNICAL INFORMATION ABOUT THE REQUEST GENERATED

All HTTP clients send out their own headers. ViewHEAD's header consists
of the following lines of text. Replace <fields> with the appropriate
text in the fields. Note: ViewHEAD sends out an HTTP 1.1-compliant
request, so it is compatible with virtual hosts (multiple hosts located
at one IP address).

HEAD <path/file> HTTP/1.1
Connection: close
User-Agent: ViewHEAD/1.0.2 (Win32; freeware)
Host: <host>:<port>
Accept: */*

----------------------------------------------------------------------
REVISION HISTORY

Version 1.0.2:
- Added minimize button
- Built using Microsoft's updated runtime libraries

Version 1.0.1:
- Added firewall/proxy warning to text file
- Improved application's help screen
- Improved main documentation
- Changed HTTP/1.0 request to HTTP/1.1
- Added version resource to ViewHEAD.exe
