forked from appleshan/cl-http
-
Notifications
You must be signed in to change notification settings - Fork 0
/
-release-notes-.text
636 lines (472 loc) · 27.7 KB
/
-release-notes-.text
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
;;-*- Mode: text; Package: cl-user; -*-
CL-HTTP 70.217 (LW 2.1.7, MCL 4.1.0, ACL/obc 10.9.9, ACL/jkf 1.7.7, SCL 0.4.4 CMUCL 0.4.4, LCL, 4.2.4)
CL-HTTP version 70.216 is now available from the distribution site:
http://www.cl-http.org:8001/
The current release is available for:
* Mac OS X
o LispWorks Common Lisp 4.3, 4.4, 5.0, 5.1 for Mac OS X
o Allegro Common Lisp 6.2, 7.0, 8.0
o MCL 5.1, MCL 5.0 (OSX & Classic) MCL 4.3 (PowerPC),
MCL 3.4 (68k), MCL 4.2 (PowerPC), MCL 3.3 (68k), MCL 4.1
(PowerPC), MCL 3.2 (68k), MCL 4.0 (PowerPC), MCL 3.1
(68k), MCL 3.9 (PowerPC), MCL 3.0 (and MCL 2.0.1 with
the usual caveats).
* Lisp Machine under Symbolics Genera 8.3, 8.5 and Open Genera 1.0, 2.0
* UNIX
o LispWorks Common Lisp 4.1, 4.2, 4.3, 4.4, 5.0, 5.1
o Allegro Common Lisp 4.2, 4.3, 5.0.1, 6.0, 6.1, 6.2, 7.0, 8.0
OS: SunOS 4.1.3x; Solaris 2.4, 2.5, 4.1.3; SGI IRIX 5.3; LINUX;
o The Scieneer Common Lisp 1.2.11, Linux x86 and AMD64, SPARC
Solaris 8 and 9, HPUX 11.11.
o CMU Common Lisp 18e, 19b
This port is considered released running multi-threaded
on Intel X86 hardware, and alpha-test running over PPC
hardware.
o Liquid Common Lisp: This port has not been updated for
the present release. -:( Any volunteers who wish to
help out should contact bug-lcl-cl-http@nospam.cl-http.org
However, Lucid users can run CL-HTTP 58.12 until
someone updates the port.
* Windows 95, NT, 2000, XP
o LispWorks Common Lisp 4.0.1, 4.1, 4.2, 4.3, 4.4, 5.0, 5.1
o Allegro Common Lisp 5.0, 5.0.1, 6.0, 6.1, 6.2, 7.0, 8.0
There are two ports for ACL. All ACL versions prior to
5.0.1 are handled by Olivier Clarisse's port.
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.
Discussion on www-cl@csail.mit.edu is encouraged to help steer server development
according to the wishes of the user community. Don't forget to subcribe before
sending email.
https://lists.csail.mit.edu/mailman/listinfo/www-cl (broken in Safari 2.0)
70.217
* CL-HTTP supports multiple byte ranges and few bug in the byte range code
were fixed.
70.216
* CL-HTTP can serve now as an HTTPS and SNEWS proxy. HTTP CONNECT method now
supported in the proxy to enable SSL proxy tunnelling. HTTPS proxies can
also be specified for both the proxy and the client.
* FTP proxy gateway based on new portable FTP client. FTP proxy handles all
HTTP 1.1 methods.
* Proxy digest authentication bugs in server and client fixed. Buggy digest
authentication by clients detected and signalled.
* Certificate-based user authentication is supported using SSL and X.509 client
certificates. X.509 users are to be mapped to their corresponding user object
with certificate realms. This enables management of user access privileges
using the normal, exensible CL-HTTP infrastructure.
* HTTP:COPY-FILE now handles FTP URLs, and interoperates with HTTP or HTTPS
URLs as well as files.
* User init files now available See: http:*cl-http-user-init-file* This allows
custom settings prior to the server initialization.
* HTTP:SEND-MAIL-TO-GROUP allows email to be sent to users belonging to a group.
* Portable SMTP mail now supports CC and BCC fields in additional headers.
* Finger client, HTTP:FINGER, now available for all ports.
70.214
* SSL support in portable code for the server, client and proxy. Platform
support for SSL on LispWorks and SCL.
* CCS2 style sheets used throughout the server and examples.
* New port to Scieneer Common Lisp.
* LispWorks supports fonts in colors for the console log.
* Performance Tuning: :CACHE-FILE-DATA argument for EXPORT-URL provides a
new interface to in-memory caching of file data.
* Ports updated: Lispworks, SCL, ACL/JKF, MCL
* New Port Template: Karsten Poeck has developed a framework
for quickly bringing up new CL-HTTP ports to new Common Lisps.
See: http:contrib;kpoeck;port-template;
70.212
* LispDoc provides reference documentation system for major CL-HTTP
components and illustrates use of HTML 4.0 with Cascading Style Sheets
(CCS2). http:examples;lispdoc.lisp
* By default, CL-HTTP now uses semi-colon to delimit value pairs for per
the recommendation for HTML 4.0 and XHTML 1.0. When specifying the
parser and writer to EXPORT-URL, two new functions are available:
URL:PARSE-SEARCH-INFO-AS-XML-SAFE-QUERY-ALIST and
URL:WRITE-SEARCH-INFO-AS-XML-SAFE-QUERY-ALIST.
URL:*XML-SAFE-SEARCH-DELIMITERS* controls whether
URL:STANDARD-WRITE-SEARCH-INFO uses an XML-safe delimiter in search URL
value pairs, or not (the previous behavior).
* XHTML 1.0 generation tools with backward compatibility to HTML 4.0.1
generation tools. (Beta Test, complete implementation)
* HTML 4.0.1 generation tools with backward compatibility to the
HTML 3.2 generation facility, and beyond. (Beta Test, complete
implementation) See the documentation in the HTML4.0 package.
HTML4.0 is now the default for HTML. If you want the old
behavior with HTML3.2 as the default, set the reader feature by
evaluating (pushnew :Use-HTML3.2 *features*) before compiling
and loading.
* RSS 2.0 generation package.
* New Methods DIRECTORY-EXPORTABLE-P and FILE-EXPORTABLE-P prevent
internal directories or files from being exported under any export type.
Useful for suppressing export of .svn directories or .emacs files, but may
be specialized according to application requirements.
* New ICO image export type, useful for exporting Web site favion images.
* MySQL interface for HTTP user authentication under LispWorks
located in http:lw;contrib;jcma;db-authentication.lisp
* Improved reverse proxy compatibility (helpful for running
behind Apache SSL).
* New URL Schemes HTTPS, RTSP.
* New function HTTP:SET-HTTP-LOGICAL-DIRECTORY-LOCATION useful
for tuning CL-HTTP images and runtimes.
* Improvements to file upload facility.
* HTTP:COPY-FILE handles wildcards when copying from a pathname
to a directory URL.
* Improvements to the authentication interface in
http:examples;access-control.lisp
* Remote Lisp listener for LispWorks located in
http:lw;contrib;jcma;remote-listener.lisp
* Assorted bug fixes and improvements
* Lisp ports updated: LispWorks, Genera, MCL, CMUCL, ACL/jkf, ACL/obc
70.190
* Numerous bug fixes and minor extensions.
* Hidden fields in forms can now be list valued.
* Base client post-url to perform correct escaping.
* Enhancements to Web-based editing of user ACLs.
* Mobility support enables remapping running servers when IP addresses
change. See: http:move-server-to-new-host
* Relativization of URLs and URL context remapping for reverse proxy
and gateway applications See the URL:*RELATIVIZE-URLS* and
HTTP:DEFINE-URL-CONTEXT-REMAPPINGS.
* LispWorks port tuned for production quality.
* ACL ports updated and working.
* CMUCL port updated and working.
* SMTP Mail handles CRAM-MD5 authentication.
* Copy-file copies URL to URL and retains file properties.
* Step-by-step documentation for setting up Web directories
* General improvements in performance, robustness, and completeness.
* Fixed several proxying bugs.
* MacOSX compatible for MCL.
70.156
* HTTP PUT Support: Read and write security separated to allow
differential control over write access. The server PUT method was
enhanced to capture file dates and authors. HTTP 1.1 chunked puts are
more efficient. Several bugs were fixed. Content negotiation on
directory list allows a client to request listings of text/uri-list
and text/x-directory-list. when the client is loaded, HTTP:COPY-FILE
is extended to copy files transparently over the Web.
* Proxy: Fully overhauled. Persistent caching across cold boots and
cache GC now suppoort. Improved HTTP 1.1 conformance. Robustification.
Numerous proxy bugs were fixed, including a persistent connection
fencepost bug. URL metering now works on the proxy and can be combined
with the web flogger. Reverse proxying and proxy authentication have been
added.
* Logging: New logging formats for proxy, client and server. Reduced
consing during logging and superior modularity. Automatic compression
of log files on some ports. Log entries are now objects. Logging now
handles Proxy and client entries.
* New CL-HTTP Interface Frame: A new CLIM interface to CL-HTTP
supersedes the previous one.
* File Upload: The server now supports uploading files over HTTP.
* Redirection: STANDARD-REDIRECT-REQUEST provides more control
over redirects than REDIRECT-REQUEST, which it supersedes for the
POST method.
* Multi-threaded Web Walking: The Web Walker can now operates in
any several threading modes.
* Extensive Enhancements: Client performance and robustness is greatly
improved, which translates to the web walker as well. Numerous
features have been added, many bugs fixed, and a variety of
performance improvements implemented.
70.23
* Efficiency Enhacements: Header parsing, form processing, and other
efficiency improvements reduce server latency and consing, which are
particularly relevant for high-volume sites. Resourced header buffers
and fast header parsing eliminated 800-900 bytes of consing down to
near 0. More efficient post method processing uses a
fast low-level specialization to slurp all posted data into
a buffer sized precisely to the request. Data is still parsed
into an alist, but form values are destructive unescaping, and
finally, indirect arrays may be obtained to further reduce consing.
See dcumentation on HTTP:*DURABLE-FORM-VALUES* and HTTP:EXPORT-URL.
* Web Flogger: A Lisp-based web flogger is now available to support
metering web operations during development. http:client;flogger.lisp
* HTTP Proxy: Updated to use HTTP 1.1 headers when appropriate.
Reduced latency by conforming to the new header regime.
* Bug Fixes: A considerable number of bugs have been fixed.
67.100
* Caching Proxy Service: HTTP proxy service is available on most
platforms as betatest software.
* Server-Parsed HTML: Computed HTML can be inserted in static HTML
documents. See the :shtml-file export type for http:export-url.
* File Data Caching: Static file data can be cached in dynamic memory
to increase performance for URL accessed with high frequency. See
http:define-cached-data
* Meta-Content Format Generation: A loadable facility generates
Meta-Content Format (MCF) to drive the HotSauce browser plugin
available from Apple Research for both Macintosh and Windows
platforms. An example illustrates how to create fly-through
displays by coding a URL directory writer suitable for use with
http:export-url.
* HTML Parser: Version 9 of Sunil Mishra's parser is now
available. It includes faster performance, revised
documentation, and examples of usage.
* Directory Index Caching: Indexes for directories computed from
the filesystem can now be cached in dynamic memory to reduce
latency in production servers. The variable
http:*cache-directory-indexes* controls whether directory
indexes are cached in dynamic memory or recomputed from disk on
demand.
* Standards Updated: The latest Web standards are available in
http:standards; and that directory has been reorganized for
easier navigation.
63.58
* HTML 3.2: W3C standard HTML 3.2 is now emitted by the
generation facilities in the HTML package. Applications using
Netscape extension packages may now move within standards
coverage for most major capabilities.
* Examples: The examples have been updated to conform with HTML 3.2.
Some examples now use the W3P Presentation System for emitting forms
and processing input. (Color Mixer & Log Window) A Netscape 4.0 layer
examples illustrates mobile code emission. A Web Lisp listener
provides a UI for Linux users and other Lisps with a command line
interface. A new example emits Java and Java parameters to generate
client-side twistdown trees similar to the Machintosh Finder
* Log Window: A log window for monitoring server activity
remotely is available. It uses HTTP, frames and server push to
provide continuous updates. http:examples;log-window.lisp
* HyperArchive: The mail archive facility has been upgraded into
one of the best email archive managers anywhere. The facility
acts as a simple collaboration system and is easily extended.
http:examples;mail-archive.lisp
* LambdaVista: A hybrid classification & retrieval system provides
full-text search for CL-HTTP web sites and mail HyperArchives. See
the documentation in /cl-http/lir/lir.html or the sources in
http:lambda-ir; Andrew Blumberg
* HTTP 1.1: The server now shows HTTP 1.1 as the version per the
decision by the HTTP Working Group. Digest authentication now
supports SHA as well. Dynamic PUTs are handled by ports
performing chunked reads, which include Symblics and Macintosh.
* HTML Generation: IMAGE automatically emits the dimensions for
JPEG images. Bugs were fixed for GIF images.
URL:LOAD-BALANCED-URL-STRING produces URLs hosted by different
servers. This can be used by HTML generation code to randomly
distribute HTTP traffic over cooperating server. In the
Netscape authoring tools, the target argument is available more
widely. Mobile code can be emitted through more macros.
REDIRECT-REQUEST now accepts a TARGET argument so that display
will appear in a new window. Netscape 4.0 extensions, such as
layers, are available. HTML:WITH-STANDARD-DOCUMENT-BODY and
HTML:*STANDARD-COLOR-SCHEME* facilitate uniform look through a
Web site.
* Incompatible W3P Change: Previously, when a W3P:ACCEPT
encountered invalid input, it returned (values nil nil). This
behavior has been changed to always signal
w3p:input-not-of-required-type as teh default. Calls to
W3P:ACCEPT or related functions will now need to handle the
condition, for example by:
(handler-case
(w3p:accept-from-string presentation-type raw-value)
(w3p:input-not-of-required-type () (values nil nil)))
Replacing the previous handler is not recommended because it has
the consequence of forcing a separation between the return value
and signalling styles of handling input exceptions.
* URL Metering: HTTP:ENABLE-URL-METERING and HTTP:DISABLE-URL-METERING
allow reponse times for URLs to be measured. Useful for tuning code
and understanding loading. Response functions can control the amount
of computation allocated to a request.
* Bug Fixes: Numerous bugs have been fixed in the portable code
as well as the various ports. Server stability has been
dramatically improved on the MCL platform, especially when
running OpenTransport and the native OT interface from Digitool.
60.63
* Client: The client substrate has been remodularized with a client
object analogous to the server instances.
* Bug Fixes: A number of bugs have been fixed in all ports. These
include bugs related to HTTP 1.1 compliance and HTML generation
bugs related to frames and events.
60.17
* HTTP 1.1 Compliance: The server complies with the HTTP 1.1 IETF
draft standard dated August 12, 1996 for all platforms (except Lucid).
Connections are persistent for static and dynamic resources for all
content types. Static files with content type text are transferred
using a CRLF (binary format on several architectures), which is cached
automatically. Virtual hosts are available for HTTP 1.1 clients,
as well as some late HTTP 1.0 clients (e.g., Netscape 2.0).
* W3P Presentation System: A light-weight and fast presentation
system has been integrated with the server for use in generating
form queries and parsing form returns. W3p implements a subset
of the Common Lisp Interface Manager, version 2.1. In a later
release, a Dynamic Form Processing layer will be added above
W3p. Chris Vincent Beta-Test
* Web Server Configuration: The server can be configured over
the Web using W3P and a preference facility. This paves the way
for booting binary images containing only the server and
configured them from a Web interface rather than from Lisp.
* VRML Generation: A set of generation macros for the Virtual
Reality Modeling Language support VRML 1.0. A brief tutorial
introduces Lisp programmers to generating 3 dimensional graphics
on the fly under program control. Rainer Joswig
* W4 Constraint-Guided Web Walker: A web walker is included in
the distribution, but must be loaded separately. It provides a
constraint posting architecture control and action. The basic
HTTP client has been ported to all platforms. Persistent
connections, performance tuning, and general hardening have
enhanced usability. W4 runs on all platforms except Lucid, most
robustly on the Lisp Machine. Beta-Test. An HTML parser
has been integrated as a url generator. Alpha-Test.
* Distributed AI Applications: A MIME type,
Application/Lisp-SExp, has been defined to allow Lisp programs
to Post values from the basic client to the server. A response
function on the server may execute and return Lisp values to the
client. This clean facility for remote procedure call provides a
foundation for building distributed AI applications. See the
example in http:examples;client.lisp
* Put Method: Netscape Gold 3.0 clients and the basic HTTP
client can use the PUT method to publish Web documents to the
server.
* Client-Side Cookies: Facilities for setting and using cookies
are now available. See computing response functions.
* Netscape 3.0 HTML Generation: HTML generation has been
extended to support Netscape 3.0 extensions, which include HTML
3.2 tables.
* Contributions Directory: A directory for general-purpose
contributions by users has be added at HTTP:CONTRIB; See also
HTTP:MAC;CONTRIB;
* Fast Access Logging: A dedicated process now handles writing
access logs for each port served. This allows threads to be
reused faster because they do not wait for their log entry to be
written. Disk contention is reduced because multiple logs are
written in sequence while keeping the log file open.
* Automatic GIF Image Sizing: Netscape 1.1 & 2.0 image macros
automatically default the size of GIF images when
http:*image-sizes-default-automatically* is non-null. This
speeds the display of images on major clients. Shannon Spires
* Mail Archive Facility: Archives of email discussions can be
exported using the :MAIL-ARCHIVE export type, found in
http:examples;mail-archive.lisp. This facility provides several
views on the archive, is always current, and can be extended via
subclassing. New mail formats beyond the current Lisp Machine,
Eudora, UNIX Rmail formats are easily added.
* Charsets: Character sets other than the HTTP default of
:ISO-8859-1 may be specified for all text content types at
export time, including directories. Similarly, dynamically
computed pages may specify alternate character sets.
* Languages: ISO language abbreviations can be associated with
all resources, whether static or dynamic.
* Computed Directory Listings: The standard url-oriented listing
of directory paths may be over-ridden by a computed response. A
built-in function is available to serve index.html files instead
of standard listings.
58.12
* JavaScript Emission: HTML generation macros incorporate
client-side events. Events are handled by client-side code.
ns2.0:define-script provides a facility for encapsulating mobile
code and emitting it from lisp during HTML generation with
html:with-event-handlers, html:accept-input, and the simplified
html:fast-format.
* Databased Users & Groups: The modularization of the
authentication classes and methods was adjusted so that users
and groups in specific realms could be stored in an object
database. The API is available on request from the implementors.
* Persistent Connections: HTTP 1.1 persistent connections are
available for exports where the content length is known in
advance. This produces more efficient HTTP service by reducing
the overhead of tearing down and reestablishing TCP connections
for each request.
* HTTP 1.1 Methods: The POST, PUT, and DELETE have been updated
to the HTTP 1.1 specification.
* Lower Server Latency: Server latency should be noticeably less
due to the following improvements:
o More efficient header parsing.
o Significantly less consing parsing headers.
o Faster URL parsing.
* Faster HTML Generation: Consing during HTML generation is
virtually eliminated, and i stack consed where unavoidable.
* Access Control Management: An example file implements an
access control manger over the Web and prevents unauthorized
access with digest authentication.
* Netscape 2.0: HTML generation is now available for the range of
2.0 extensions, including frames and client-side image maps. Java
and JavaScript can be exported and invoked from synthesized HTML.
* Digest Authentication: The MD5 Digest authentication scheme is
implemented. It provides substantially better passwords than the
Basic Authentication scheme.
* Modular Logging: Logging is now extensible. The variable
http:*log-access-log-class* controls the class of log used. A variety
of log formats are predefined.
* Server Push: The netscape generation package now allows
the connection to the client to be kept open by the server and
the displays refreshed under server control using MIME multipart
generation.
* Access Control on URLs via passwords is now available.
Interfaces can now correctly supply the authenticated user and
the authentication method. see: /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
Caveats:
Netscape 1.1 304 Loop: Netscape 1.1 can get into a loop attempting to refresh
its cache with any server and this includes CL-HTTP. A work around is to clear
the cache using from the preferences dialog, quit Netscape and restart. This
works in most cases but not all. In other cases, make sure that your time and
time zone are correctly configured, and if all else fails, set the caching to
never check documents.
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 mplementations 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.