attachment
<html>
<font size=2>After reading the email between Keith Moore and various
members of the IPP <br>
working group, I see much agreement, and some remaining points of <br>
disagreement based on Keith's July 12th email "possible
compromise?" <br>
(enclosed below).<br>
<br>
I will suggest a slightly different compromise.<br>
<br>
Keith and the IPP working group are in agreement:<br>
<br>
1) Clients send only 'http' schemes in the HTTP
Request-Line<br>
2) Servers support the reception only of 'http'
schemes in the HTTP Request-Line<br>
<br>
<br>
Keith and the IPP working group are in disagreement about:<br>
1) the scheme in the value of IPP attributes,
such as "printer-uri". <br>
Keith wants 'ipp'. The IPP
working group wants 'http'.<br>
2) the scheme in external notation for printer URL's.
Keith wants 'ipp'. <br>
The IPP working group wants
'http'.<br>
<br>
The IPP working group wants an 'http' scheme for issue #1 because they
<br>
believe it is the cleanest design and avoids the mapping issue for
clients <br>
that never expose a URL to a user. We don't understand the virtue of
having <br>
an 'ipp' scheme in a block of data that a client must process, but that
<br>
neither a user nor networking software ever see. The 'http' choice (with
its <br>
lack of mapping) also allows a print server to use an 'https' scheme in
an <br>
IPP attribute without any mapping issues. Although 'https' is
not a part <br>
of IPP, most vendors will probably support it for pragmatic
reasons. <br>
<br>
Keith's solution creates a mapping problem for clients while giving no
<br>
apparent benefit to the client. If there is a benefit at the
client level, <br>
we have been unable to understand what it is.<br>
<br>
If, indeed, the 'ipp' scheme is a good idea, I think that Keith's
proposal <br>
makes the wrong partitioning of 'ipp' and 'http'. The partitioning
should <br>
<font size=2>occur between client and user interface and not between the
sending and <br>
receiving portions of the client.<br>
<br>
I might support a requirement that users refer to a printer with an 'ipp'
<br>
scheme (issue #2), even though such a requirement seems to be beyond a
<br>
protocol standard.<br>
<br>
But before giving such support, I would like to understand why the IETF
<br>
wants a scheme to specify the type of service. I would also like to
see an <br>
IETF document that describes the intent and goals of this differentiation
of <br>
schemes, as well as the infrastructure needed to support it. I
would like <br>
to know how a protocol designer decides if a new service is different
enough <br>
to warrant a new scheme. I would like to know if someone has thought
about <br>
how to avoid the "new area code" problem as each new scheme is
introduced. <br>
Without a such information, I am left wondering if the requirement of
a new <br>
scheme for each new service will turn out to be a good idea.<br>
<br>
Finally, I wonder how long it would have taken faxes to be deployed if
<br>
someone had required a special fax number instead of a standard phone
number. <br>
<br>
<br>
Bob Herriot<br>
<br>
<br>
<br>
<br>
</font><font size=3>At 04:47 PM 7/12/98 , Keith Moore wrote:<br>
>I was thinking about the problem where using ipp: URLs in <br>
>the HTTP POST operation potentially makes IPP incompatible<br>
>with existing servers, and came up with the following possible<br>
>compromise solution. I'm willing to defend this to IESG
if<br>
>the IPP group buys into it.<br>
><br>
>1. use the http: form of the URL in HTTP protocol elements<br>
><br>
>if you're talking to a proxy, do<br>
><br>
>POST
<a href="http://myhost.com:631/myprinter/myqueue" eudora="autourl"><font size=3>http://myhost.com:631/myprinter/myqueue</a><font size=3>
HTTP/1.1<br>
><br>
>if you're talking to an origin server, you should really do<br>
><br>
>POST /myprinter/myqueue HTTP/1.1<br>
>Host: myhost.com:631<br>
><br>
>but origin servers are *also* expected to accept <br>
><br>
>POST <a href="http://myhost.com:631/myprinter/myqueue" eudora="autourl"><font size=3>http://myhost.com:631/myprinter/myqueue</a><font size=3> HTTP/1.1<br>
><br>
>just as in vanilla HTTP 1.1.<br>
><br>
>This way, the HTTP layer never has to see ipp: at all.<br>
>This should preserve compatibility with HTTP servers<br>
>and HTTP client libraries.<br>
><br>
>2. use the ipp: form of the URL in IPP protocol elements<br>
>that refer to printer objects<br>
><br>
>3. define ipp: URLs as a standard external notation for <br>
>referring to printers - and the IPP protocol document describes<br>
>how to take an ipp: URL and generate the appropriate HTTP/1.1<br>
>POST request. Printer clients are expected to be able to <br>
>do this. <br>
><br>
>That way, the ipp: URL can be used when it's useful to<br>
>expose the fact that the named object is a printer.<br>
><br>
>The IPP server is free to respond to a GET on the its <br>
>printer URL, and return HTML that describes the printer, <br>
>how to talk to it, etc. And users are free to export<br>
>this URL as an http: URL if they want to do so and <br>
>their printers support it.<br>
><br>
>But users and clients should be cautioned to not assume <br>
>that the "GET URL" is the same as the "print URL".<br>
><br>
>Keith<br>
> </font><br>
</html>