Re: v11-03 COMMENT: 16.8 Errors or Incomplete ...

    In the second paragraph, the phrase "... if the transport connection
    was terminated in any unusual way" is too vague to be meaningful.  I'm
    unsure what it should say.  (Jeff?)  I think it should at least give
    categories of events that qualify as "unusual".
    
How about
	... if there is any uncertainty as to whether a terminated
	transport connection was terminated without any error.

I can give examples of situations that might lead to uncertainty:

	"connection reset by peer"
	
	keepalive timeouts
	
	closed because of an explicit timer expiration
	
	any error condition (e.g., returned by the UNIX read() system call)

but I intended this to be vague because I don't have any experience
with non-BSD TCP stacks, and I've been told repeatedly by other people
on this list that such stacks sometimes work in mysterious ways.

On the other hand, the underlying rule is in conflict with our desire
to allow a cache to use and support range-retrieval operations to patch
up after failed transfers.  (I think I may have already commented on
this issue to Jim Gettys, but I don't think he's had a chance to
address it in the spec.)  For example, if the transfer of a 100KB
entity fails after 99KB, it would be nice to be able to keep those 99KB
in the cache, marked in some way as "partial content", and then do a
1KB range retrieval to finish the entity.

So probably the "MUST NOT store the response" in the previous
sentence should become "MUST NOT store the response unless
it is marked as a partial-content response."  Note, however, that
the Content-Range header requires an indication of the total
length of the object, so it's not always possible to make use of
such a fragmentary response.

-Jeff

Received on Tuesday, 14 May 1996 15:57:39 UTC