[Prev][Next][Index][Thread]

CL-HTTP Release 44.2 Now Available for FTP





		     CL-HTTP 44.2 (MAC 1.7.1, ACL 0.7.2, LW 0.3.1)

CL-HTTP version 44.2 is now available from the home page and FTP site.

	http://www.ai.mit.edu/projects/iiip/doc/cl-http/home-page.html

	ftp://ftp.ai.mit.edu/pub/users/jcma/cl-http/

The current release is available for:

        * MAC running under MCL 3.0 (and MCL 2.0.1 with the usual caveats).

        * Lisp Machine under Symbolics Genera 8.3 (also Open Genera 1.0)

        * UNIX	
		o Allegro Common Lisp 4.2 (Second Alphatest Release).
		Please report bugs, problems, or suggestions to
		bug-acl-cl-http@ai.mit.edu

		o LispWorks Common Lisp 3.2.2 (First Alphatest Release).
		Please report bugs, problems, or suggestions to
		bug-lw-cl-http@ai.mit.edu

The new release includes a number of fixes, performance enhancements,
extensions, and some new documentation.

We want to hear what people are doing or would like to do with CL-HTTP
so that we can better understand the needs of the user community.

A revised and more comprehensive outline of code projects is available in
/cl-http/projects.html. Discussion on www-cl@ai.mit.edu is encouraged help
steer server development according to the wishes of the user community.

The significant features include:

	* Access Control on URLs via passwords is now available.
	Interfaces can now correctly supply the authenticated user and
	the authentication method. /cl-http/authentication/

	* *AUTO-EXPORT* is now set to :ON-DEMAND by default.  This
	defers export of pathnames under directory URLs until they are
	requested, and makes the server start up faster even in an
	environment of slow or non-caching DNS resolvers.

	* Custom logging is possible using multiple log objects are
	possible and form values are cached on the server object.

	* Server Interface 1.0 provides a defined interface for writing
	response functions. This is an interface specification inspired by CGI
	but more attuned to the needs of Lisp.

	* Common Gateway Interface 1.1 provides the information needed for
	scripting interfaces on the MAC (e.g., AppleScript, Perl) and UNIX,
	but this standard is not very useful for the Lisp programmer.

	* Documentation on writing response functions explains all the
	interfaces needed to write response functions for computed URLS, form
	processing and search urls. See:  /cl-http/response-functions.html

	* Documentation enumerating a number of heuristics for how to make
	your lisp code for CL-HTTP response functions run fast. Suggestions,
	refinements, and prioritizations are a relevant topic for discussion
	on www-cl. See:/cl-http/efficiency.html

	* A bug that could produce a 304 loop with Netscape has been fixed.
	But, Netscape 1.1 has further bugs with daylight savings time. Clearing
	the cache and quitting Netscape can help in many cases.

	* Bugs related to operation on ports other than 80 or multiple ports
	have been fixed. The function http:set-standard-http-port can now be
	used to set the standard port on which the server will listen. This
	must be invoked after http:reset-server-local-host-variables in your
	server configuration file (see the examples in
	http:examples;configuration.lisp).

	* The #U reader macro now uses the standard port when completing
	relative URLs. The #U reader macro now accepts an alternate syntax of
	the form:  #U("/cl-http/response-functions.html" :host
	"Host.Domain":port 8000), where host and port would default to the
	values of local-host and the standard port.

	* The Mailto and File URLs are now parsed by the URL package.

	* The Web related standards have been updated in http:standards;

	* Portability enhancements will make additional ports smoother.

	* Lazy header parsing improves the response time for the server.

	* Several classes of AppleTalk errors are now detected on the MAC and
	more meaningful error reports provided.

	* A number of network conditions have been exported for use in
	the http package (not yet available in the ACL port). These
	include:

                 BAD-CONNECTION-STATE
                 CONNECTION-CLOSED
                 CONNECTION-ERROR
                 CONNECTION-LOST
                 CONNECTION-REFUSED
                 DOMAIN-RESOLVER-ERROR
                 HOST-NOT-RESPONDING
                 HOST-STOPPED-RESPONDING
                 LOCAL-NETWORK-ERROR
                 NETWORK-ERROR
                 NETWORK-PARSE-ERROR
                 NETWORK-RESOURCES-EXHAUSTED
                 PROTOCOL-TIMEOUT
                 REMOTE-NETWORK-ERROR
                 UNKNOWN-ADDRESS
                 UNKNOWN-HOST-NAME

Buggy HTTP Servers: A number of HTTP servers on the net implement
unreliable TCP closes, which adversely effects the Lisp Machine and MAC
versions of the basic client as well as proxy servers. The symptom is
that URL data is incompletely transfered to the client because a number
of HTTP servers close the connection in abort mode and thus issue a TCP
reset to the client. Conforming TCP implementation assume a more
graceful end to a transaction, and so, both the Lisp Machine and the MAC
TCP implementations flush the input buffer when they receive the tcp
reset.  If the client has not already completed reading the input
buffer, a tcp-connection-reset error is signalled when the client next
tries to read from the TCP input buffer. The next version of the HTTP
specification contains a note advising implementors of these buggy
servers to correct their problem.