IPP Mail Archive: IPP Mail Archive: Re: PWG> IPP> PRO> HTTP Connection: close

IPP Mail Archive: IPP Mail Archive: Re: PWG> IPP> PRO> HTTP Connection: close

IPP Mail Archive: Re: PWG> IPP> PRO> HTTP Connection: close

Carl Kugler (kugler@us.ibm.com)
Tue, 15 Sep 1998 12:28:52 -0600

This is a multi-part message in MIME format.
--------------1C0771C7ACB66B47E13CBE1B
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

Trying to resend...
http://www.pwg.org/hypermail/ipp/1225.html
--------------1C0771C7ACB66B47E13CBE1B
Content-Type: text/html; charset=us-ascii; name="1225.html"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline; filename="1225.html"
Content-Base: "http://www.pwg.org/hypermail/ipp/1225.
html"

<!-- received="Wed Sep 9 16:53:18 1998 EDT" -->
<!-- sent="Wed, 9 Sep 1998 16:53:39 -0400" -->
<!-- name="Carl Kugler" -->
<!-- email="kugler@us.ibm.com" -->
<!-- subject="Re: PWG&gt; IPP&gt; PRO&gt; HTTP Connection: close" -->
<!-- id="199809091857.OAA18707@pwg.org" -->
<!-- inreplyto="PWG&gt; IPP&gt; PRO&gt; HTTP Connection: close" -->
<title>IPP Mail Archive: Re: PWG&gt; IPP&gt; PRO&gt; HTTP Connection: close</title>
<h1>Re: PWG&gt; IPP&gt; PRO&gt; HTTP Connection: close</h1>
Carl Kugler (<i>kugler@us.ibm.com</i>)<br>
<i>Wed, 9 Sep 1998 16:53:39 -0400</i>
<p>
<ul>
<li> <b>Messages sorted by:</b> <a href="date.html#1225">[ date ]</a><a href="index.html#1225">[ thread ]</a><a href="subject.html#1225">[ subject ]</a><a href="author.html#1225">[ author ]</a>
<!-- next="start" -->
<li> <b>Next message:</b> <a href="1226.html">henrik.holst@i-data.com: "IPP&gt; Bake off"</a>
<li> <b>Previous message:</b> <a href="1224.html">egglestn@lexmark.com: "IPP&gt; Reply"</a>
<!-- nextthread="start" -->
</ul>
<!-- body="start" -->
I agree that the client and server must accept the Connection: close he=<br>
ader.<br>
I'm wondering how to satisfy the requirement that the client and server=<br>
MUST<br>
include this header for the last operation in a sequence of operations.=<br>
<p>
Specifically, how do the client and server know, a priori, that the cur=<br>
rent<br>
operation is the last operation in a sequence (and therefore MUST inclu=<br>
de the Co<br>
nnection: close header)?<br>
<p>
-Carl<br>
<p>
<p>
<p>
rturner@sharplabs.com on 09/09/98 02:17:29 PM<br>
Please respond to rturner@sharplabs.com<br>
To: Carl Kugler/Boulder/IBM@ibmus<br>
cc: ipp@@pwg.org<br>
Subject: Re: PWG&gt; IPP&gt; PRO&gt; HTTP Connection: close<br>
<p>
<p>
I tend to follow the saying "Be conservative in what you send, and libe=<br>
ral in<br>
what<br>
you accept..."<br>
<p>
Whether the text says MUST or not, IMHO we should be designing clients =<br>
and<br>
servers<br>
to handle a "connection: close" header whenever it is received and stil=<br>
l<br>
function<br>
normally, albeit with possibly less performance.<br>
<p>
Since I am not working on a client, I cannot speak for what clients are=<br>
or will<br>
actually do, but I do think the client end should drive the connection =<br>
status,<br>
whevever possible.<br>
<p>
Randy<br>
<p>
<p>
Carl Kugler wrote:<br>
<p>
<i>&gt; Section 4.1, General Headers, says</i><br>
<i>&gt; General Header: Connection</i><br>
<i>&gt; "close" only. Both client and server SHOULD keep a connection for the=</i><br>
<p>
<i>&gt; duration of a sequence of operations. The client and server MUST incl=</i><br>
ude this<br>
<i>&gt; header for the last operation in such a sequence.</i><br>
<i>&gt; Consider the (presumably typical) case of an interactive IPP client w=</i><br>
ith a<br>
user<br>
<i>&gt; interface. How is the client to know when the current operation is t=</i><br>
he last<br>
of<br>
<i>&gt; a sequence of user-initiated actions? Apparently, the only safe way =</i><br>
to sat<br>
isfy<br>
<i>&gt; the MUST (an absolute requirement of the specification) would be to s=</i><br>
end<br>
<i>&gt; "close" after each user-initiated action. But this would violate the=</i><br>
SHOULD,<br>
<i>&gt; and is contrary to the recommendations of "HTTP Connection Management=</i><br>
",<br>
<i>&gt; <a href="http://www.ics.uci.edu/pub/ietf/http/draft-ietf-http-connection-00.t=">http://www.ics.uci.edu/pub/ietf/http/draft-ietf-http-connection-00.t=</a></i><br>
xt<br>
<i>&gt;</i><br>
<i>&gt; Quoting:</i><br>
<i>&gt; "Authoritative knowledge that it is appropriate to close a connecti=</i><br>
on<br>
<i>&gt; can only come from the user. Unfortunately, that source is not to =</i><br>
be<br>
<i>&gt; trusted. First, most users don't know what a connection is, and</i><br>
<i>&gt; having them indicate it is okay to close it is meaningless. Second=</i><br>
, a<br>
<i>&gt; user that does know what a connection is probably inherently greed=</i><br>
y.<br>
<i>&gt; Such a user would never surrender the attention that a connection =</i><br>
to<br>
<i>&gt; a server implies.</i><br>
<i>&gt; But this is talking about the client actually closing the connection,=</i><br>
not<br>
<i>&gt; sending a header to the server to signal that the connection will be =</i><br>
closed<br>
<i>&gt; after completion of the response. Obviously, the header can only be s=</i><br>
ent as<br>
<i>&gt; part of a request. Also, "HTTP Connection Management" says clients S=</i><br>
HOULD<br>
<i>&gt; close connections before servers when possible.</i><br>
<i>&gt; How are you implementing this requirement?</i><br>
<i>&gt;</i><br>
<i>&gt; -Carl,</i><br>
<p>
<p>
<p>
<p>
<p>
<p>
=<br>
<!-- body="end" -->
<p>
<ul>
<!-- next="start" -->
<li> <b>Next message:</b> <a href="1226.html">henrik.holst@i-data.com: "IPP&gt; Bake off"</a>
<li> <b>Previous message:</b> <a href="1224.html">egglestn@lexmark.com: "IPP&gt; Reply"</a>
<!-- nextthread="start" -->
</ul>

--------------1C0771C7ACB66B47E13CBE1B--