I agree that the client and server must accept the Connection: close header.
I'm wondering how to satisfy the requirement that the client and server MUST
include this header for the last operation in a sequence of operations.
Specifically, how do the client and server know, a priori, that the current
operation is the last operation in a sequence (and therefore MUST include the Co
nnection: close header)?
rturner at sharplabs.com on 09/09/98 02:17:29 PM
Please respond to rturner at sharplabs.com
To: Carl Kugler/Boulder/IBM at ibmus
Subject: Re: PWG> IPP> PRO> HTTP Connection: close
I tend to follow the saying "Be conservative in what you send, and liberal in
Whether the text says MUST or not, IMHO we should be designing clients and
to handle a "connection: close" header whenever it is received and still
normally, albeit with possibly less performance.
Since I am not working on a client, I cannot speak for what clients are or will
actually do, but I do think the client end should drive the connection status,
Carl Kugler wrote:
> Section 4.1, General Headers, says
> General Header: Connection
> "close" only. Both client and server SHOULD keep a connection for the
> duration of a sequence of operations. The client and server MUST include this
> header for the last operation in such a sequence.
> Consider the (presumably typical) case of an interactive IPP client with a
> interface. How is the client to know when the current operation is the last
> a sequence of user-initiated actions? Apparently, the only safe way to sat
> the MUST (an absolute requirement of the specification) would be to send
> "close" after each user-initiated action. But this would violate the SHOULD,
> and is contrary to the recommendations of "HTTP Connection Management",
> "Authoritative knowledge that it is appropriate to close a connection
> can only come from the user. Unfortunately, that source is not to be
> trusted. First, most users don't know what a connection is, and
> having them indicate it is okay to close it is meaningless. Second, a
> user that does know what a connection is probably inherently greedy.
> Such a user would never surrender the attention that a connection to
> a server implies.
> But this is talking about the client actually closing the connection, not
> sending a header to the server to signal that the connection will be closed
> after completion of the response. Obviously, the header can only be sent as
> part of a request. Also, "HTTP Connection Management" says clients SHOULD
> close connections before servers when possible.
> How are you implementing this requirement?