----------------------------------------------------------------------
REQUEST TESTS
----------------------------------------------------------------------

Subject of these tests are the validity of the requests sent to the
server.

----------------------------------------------------------------------
RESPONSE TESTS
----------------------------------------------------------------------


Subject of the following tests is the ability of the client to handle
various responses from the server.

The responses are defined in the "data" directory.

simple*:		Various unframed, short responses. See the "data"
			directory for the detailed specifications.

error-404:              Tests that a "404 NOT FOUND" response is reported

framed*:                Various framed responses (with 'content-length')
			See the "data" directory for the detailed 
			specifications.

chunked*:               Various chunked responses
			See the "data" directory for the detailed 
			specifications.

unframed-is-unframed:	An unframed message which contains some lines that
			could also be interpreted as a framed message

three-messages:         Three responses in turn (framed, chunked, framed)
three-messages-incl-simple:
			Three responses in turn (framed, chunked, simple)

continue:               Sends a 'continue' response before the regular response
continue-extra:         Sends a 'continue' response with a header line 
			before the regular response

three-continued-messages:
			Three responses in turn (see 'three-messages'),
			each beginning with a 'continue' line
three-very-continued-messages:
			Three responses in turn (see 'three-messages'),
			each beginning with two 'continue' lines

three-big-messages:	Three big responses in turn

early-error:		While the request is still unfinished, the server
			responds with an error
early-continue-then-error:
			While the request is still unfinished, the server
			responds first with a 'continue' response, then
			with an error

pipeline-phantasy:	While a long PUT requests is being sent, the answer
			of the previous GET request is being received.

nopersistency-1.0:      Tests that HTTP/1.0 responses switch persistency off
nopersistency-close:    Tests that "connection: close" responses switch
			persistency off

framed-basicauth:	Tests that the client repeats the request with
			added credentials. [This is also a request test
			because the "authorization" header field is tested.]
framed-basicauth-fails: Tests that the client does not repeat requests twice
			with added credentials
framed-digestauth:	Tests that the client repeats the request with
			added credentials. [This is also a request test
			because the "authorization" header field is tested.]

framed-proxyauth:	Tests proxy authentication.
framed-proxy+basicauth: Tests combination of proxy and server authentication.

framed-no-persistency:  Tests whether the "inhibit_persistency" option works

head:			Tests whether HEAD requests/responses work

proxypersistency-1.0:   Tests whether sequential peristent connections to
			HTTP/1.0-only proxies work

------------------------------

----------------------------------------------------------------------
ERROR RECOVERY TESTS
----------------------------------------------------------------------

Subject of these tests is that the client reconnects to the server 
after failures, and tries the same requests again.

reconnect-1:     	Puts three requests onto the queue. The first reply
			is legal, the second illegal, but the following 
			two are legal again.

Premature EOF handling: (i.e. EOFs before any usable status line was replied)

pe-get11:               Tests whether a premature EOF is handled correctly
			before a GET (HTTP/1.1 version)
pe-put11:               Tests whether a premature EOF is handled correctly
			before a PUT (HTTP/1.1 version)
pe-multiput11:          Tests whether several consecutive premature EOFs 
			are handled correctly before a PUT (HTTP/1.1 version)
pe-trashput11:          Tests whether the combination of premature EOFs and
			protocol errors works  (HTTP/1.1 version)
pe-put10:               Tests whether a premature EOF is handled correctly
			before a PUT (HTTP/1.0 version - with timeout)

timeout:                Tests whether the connection is shut down after a
			timeout, and if the next connection succeeds

bad-request:		Tests whether another request can be added if the
			previous request was bad

head-extra:		Tests whether HEAD requests/responses work even
			if there are extra octets after the response.

----------------------------------------------------------------------
NEGATIVE TESTS
----------------------------------------------------------------------

Subject of these tests is that bad responses are detected and reported
appropriately.

illegal-status:	 	Tests whether an illegal status line is detected.
too-many-errors:	Tests whether the client stops after too many
			connections failed totally.
unix-error:		A "connection refused" is provoked and it is
			tested whether it is reported correctly.


- Bad header
- Interrupted header
- Interrupted message body
- Chunked message with bad content length


continue-no-request:	The server sends a 'continue' response just before
			any request has been received.

