Re: PERSIST: Made default

On Fri, 24 May 1996, Henrik Frystyk Nielsen wrote:

[...]
> 
> 17.2.2 Pipe-lining
> Clients and servers which support persistent connections MAY "pipe-line"
> their requests and responses. When pipe-lining, a client will send
> multiple requests without waiting for the responses. The server MUST
> then send all of the responses in the same order that the requests were
> made.
> 
> 
> + Clients which assume persistent connections and pipeline immediately
> + after connection establishment SHOULD be prepared to retry their
> + connection if the first pipe-lined attempt fails. If a client does
> + such a retry, it MUST NOT pipeline before it knows that the response
> + from a server does not contain a Connection header with the
> + connection-token "Close". Clients MUST also be prepared to resend
> + their requests if the server closes the connection before sending all
> + of the corresponding responses.
> 
> - A client MAY assume that a server supports persistent connections if the
> - same server has accepted persistent connections within the past 24
> - hours. Clients which assume persistent connections and pipeline
> - immediately SHOULD be prepared to retry their connection if the first
> - pipe-lined attempt fails. If a client does such a retry, it MUST NOT
> - pipeline without first receiving an explicit Persist token from the
> - server. Clients MUST also be prepared to resend their requests if the
> - server closes the connection before sending all of the corresponding
> - responses.

The above change represents a protocol change. The orginal wording did not
allow a client to assume persistent connection support and hence initiate
pipelining UNLESS it had evidence within the past 24 hours that the
server accepted persistent connections. I believe the spirit of the 
original specification will be restored if the first deleted sentence
is retained such that the wording becomes: 

++ A client MAY assume that a server supports persistent connections if the
++ same server has accepted persistent connections within the past 24
++ hours. Clients which assume persistent connections and pipeline 
++ immediately after connection establishment SHOULD be prepared to retry 
++ their connection if the first pipe-lined attempt fails. If a client does
++ such a retry, it MUST NOT pipeline before it knows that the response
++ from a server does not contain a Connection header with the  
++ connection-token "Close". Clients MUST also be prepared to resend
++ their requests if the server closes the connection before sending all 
++ of the corresponding responses. 


Dave Morris

Received on Friday, 24 May 1996 16:49:40 UTC