Opaque right hand sides (was: Re: revised "generic syntax" internet draft)
John C Klensin <klensin@mci.net> Thu, 24 April 1997 13:26 UTC
Received: from cnri by ietf.org id aa19655; 24 Apr 97 9:26 EDT
Received: from services.Bunyip.Com by CNRI.Reston.VA.US id aa10471; 24 Apr 97 9:26 EDT
Received: (from daemon@localhost) by services.bunyip.com (8.8.5/8.8.5) id IAA10371 for uri-out; Thu, 24 Apr 1997 08:28:36 -0400 (EDT)
Received: from mocha.bunyip.com (mocha.Bunyip.Com [192.197.208.1]) by services.bunyip.com (8.8.5/8.8.5) with SMTP id IAA10366 for <uri@services.bunyip.com>; Thu, 24 Apr 1997 08:28:32 -0400 (EDT)
Received: from ns.jck.com by mocha.bunyip.com with SMTP (5.65a/IDA-1.4.2b/CC-Guru-2b) id AA19323 (mail destined for uri@services.bunyip.com); Thu, 24 Apr 97 08:28:30 -0400
Received: from tp7.Jck.com ("port 1723"@tp7.jck.com) by a4.jck.com (PMDF V5.1-8 #21705) with SMTP id <0E956GG8N00COT@a4.jck.com> for uri@bunyip.com; Thu, 24 Apr 1997 08:24:36 -0400 (EDT)
Date: Thu, 24 Apr 1997 08:23:51 -0400
From: John C Klensin <klensin@mci.net>
Subject: Opaque right hand sides (was: Re: revised "generic syntax" internet draft)
In-Reply-To: <v0300780baf8466ef2424@[206.245.192.47]>
To: Edward Cherlin <cherlin@newbie.net>
Cc: uri@bunyip.com
Message-Id: <SIMEON.9704240851.W@tp7.Jck.com>
Mime-Version: 1.0
X-Mailer: Simeon for Win32 Version 4.1.1 Build (14)
Content-Type: TEXT/PLAIN; CHARSET="US-ASCII"
Priority: NORMAL
X-Authentication: none
Sender: owner-uri@bunyip.com
Precedence: bulk
Edward Cherlin wrote:
>...
> If I am going to create an ftp: site, and I don't check what version of
> what ftp server I'm using, I'm a fool, and likewise for gopher: and telnet:
> and the others. If I put out an https: URL and I don't have a secure server
> to receive it, I'm a fool. If I intend to accept encoded UTF-8, I need to
> find out how my server can deal with it. If I don't intend to accept it, I
> can regard encoded UTF-8 in URLs as plain ASCII, without breaking any
> process that is not already broken.
>...
I think, with the help of the above, I've finally figured
out what is going on here and why we have a seemingly-
insurmountable communications disconnect. In case others
have been as confused as I have been and in the hope that
this might help, let's step away from character sets for a
moment and look at a broader question.
With email, we've made a very careful distinction between
the "local-part" and the "domain-name". The latter has
to be resolvable by the DNS and must obey its rules,
whatever they are. The local part is defined as opaque to
everything but the target system -- the one named in the
"domain-name" (or indirected via an MX record, which has no
analogy here). There are some very low level syntax rules
to which it must conform --e.g., seven bits and quoting if
certain classes of characters appear-- but the
oft-repeated, and very important, rule is that _nothing_
besides a delivery host gets to interpret or revise the
local part. So, for example, sometimes a percent sign
denotes routing, and sometimes it is just part of an
address, and, in principle, sometimes it might introduce
encoding of something that, by prior agreement, sending and
receiving MUAs (but not anything in the intermediate
transport system) might construe as encoding for non-ASCII
characters. As long as the "don't mess with the local
part" rules are strictly observed while the message is in
the transport system, everything works fine.
That is, more or less, the position I think Edward and
others are taking -- we can safely treat all of the URL
that follows the domain name as opaque and as something
that will be interpreted, like the local-part, only by
systems that --by prearrangement or good sense-- will know
how to interpret it correctly.
FTP, for example, is actually pretty similar: the form and
syntax of file names is that of the server and it is the
responsibity of the client to figure out, out of band if
necessary, what form the server uses and to adapt to it.
The protocol was carefully designed so that the arguments
to, e.g., RETR and STOR, could be treated as completely
opaque.
Fortunately or unfortunately, URLs haven't been defined as
<protocol>://<domain>/<opaque-part>
but, instead, with considerable syntax and semantics
attached to the RHS (after the domain-part -- I am
deliberately not using standard URI terminology here).
Presumably that was done for a reason and lots of things
interpret, slice, and dice the RHS -- things that may not
be aware of the shared client/server conventions. If that
is really the case, then the issue about interpretation of
the "characters" in the URL is not limited to the ultimate
client and server but involves all intermediate systems,
caches, publishers of URLs, etc. -- anything that might
take advantage of knowledge of the syntax to do something
with, or to, the URL's structure. Now it may be that
unusual codings with still survive that process: the point
is that we need to look at those "third-party" systems, not
just the endpoints.
However, we have systems out there that depend on
digitally-signed URLs and similar things. The fact that
they work may imply that intermediate systems aren't, in
fact, dependent on the ability to disassemble a URL. Or
it might prove nothing at all -- most, if not all, of those
signed URLs are associated with objects that can't be
cached.
In any event, I think the key question turns into whether,
at this stage, it is plausible to agree to drastically
revise the URL/URI definitions to define the RHS as opaque.
It would make a number of other things easier -- there are
proposals for URIs floating around that are made very
clumsy because they have to conform to the current rules
about the RHS. And it would dramatically shorten the
generic syntax document. Is that an idea people are
willng to discuss? Could it --and the notion of a
<protocol>://<domain>/<not-very-constrained-string>
definition-- be deployed without doing violence to the
installed base?
I believe that the current discussion about whether it is
sufficient that client and servers understand each other
becomes meaningful only if the answer to both of those
questions is "yes".
john
- Re: revised "generic syntax" internet draft Foteos Macrides
- leading ".." (Re: revised ...) Gregory J. Woodhouse
- Re: revised "generic syntax" internet draft Roy T. Fielding
- Re: revised "generic syntax" internet draft Francois Yergeau
- Re: revised "generic syntax" internet draft Roy T. Fielding
- Re: revised "generic syntax" internet draft Martin J. Duerst
- Re: revised "generic syntax" internet draft Francois Yergeau
- Transcribing non-ascii URLs [was: revised "generi… Dan Connolly
- Re: revised "generic syntax" internet draft Edward Cherlin
- Re: Transcribing non-ascii URLs [was: revised "ge… Martin J. Duerst
- Re: revised "generic syntax" internet draft Roy T. Fielding
- Re: revised "generic syntax" internet draft Dan Oscarsson
- Re: revised "generic syntax" internet draft Martin J. Duerst
- Re: revised "generic syntax" internet draft John C Klensin
- Re: revised "generic syntax" internet draft Gary Adams - Sun Microsystems Labs BOS
- Re: revised "generic syntax" internet draft Larry Masinter
- Re: revised "generic syntax" internet draft Gary Adams - Sun Microsystems Labs BOS
- Re: revised "generic syntax" internet draft Chris Newman
- Re: revised "generic syntax" internet draft Chris Newman
- Re: revised "generic syntax" internet draft Keld J|rn Simonsen
- Re: revised "generic syntax" internet draft Roy T. Fielding
- Re: revised "generic syntax" internet draft Chris Newman
- Re: revised "generic syntax" internet draft Roy T. Fielding
- Re: revised "generic syntax" internet draft Roy T. Fielding
- Re: revised "generic syntax" internet draft Roy T. Fielding
- Re: revised "generic syntax" internet draft Edward Cherlin
- Re: revised "generic syntax" internet draft Larry Masinter
- Re: revised "generic syntax" internet draft Harald.T.Alvestrand
- Re: revised "generic syntax" internet draft Roy T. Fielding
- Re: revised "generic syntax" internet draft Jon Knight
- Re: revised "generic syntax" internet draft Jon Knight
- Re: revised "generic syntax" internet draft John C Klensin
- Re: revised "generic syntax" internet draft Ron Daniel, Jr.
- Re: Transcribing non-ascii URLs [was: revised "ge… Bert Bos
- Re: revised "generic syntax" internet draft Gary Adams - Sun Microsystems Labs BOS
- Re: revised "generic syntax" internet draft Gary Adams - Sun Microsystems Labs BOS
- Re: revised "generic syntax" internet draft Gary Adams - Sun Microsystems Labs BOS
- A workable alternative to "hex-encoded UTF-8 enco… Larry Masinter
- Re: revised "generic syntax" internet draft Larry Masinter
- Re: revised "generic syntax" internet draft Larry Masinter
- Re: revised "generic syntax" internet draft John C Klensin
- Re: revised "generic syntax" internet draft Harald.T.Alvestrand
- Re: revised "generic syntax" internet draft Martin J. Duerst
- Re: revised "generic syntax" internet draft Roy T. Fielding
- Re: revised "generic syntax" internet draft Chris Newman
- Re: revised "generic syntax" internet draft Martin J. Duerst
- Re: A workable alternative to "hex-encoded UTF-8 … Martin J. Duerst
- Re: revised "generic syntax" internet draft Martin J. Duerst
- Re: revised "generic syntax" internet draft Martin J. Duerst
- Re: revised "generic syntax" internet draft Martin J. Duerst
- Re: revised "generic syntax" internet draft Martin J. Duerst
- Re: revised "generic syntax" internet draft Martin J. Duerst
- Re: revised "generic syntax" internet draft Martin J. Duerst
- Re: revised "generic syntax" internet draft Martin J. Duerst
- Re: revised "generic syntax" internet draft Larry Masinter
- Re: revised "generic syntax" internet draft Martin J. Duerst
- Re: revised "generic syntax" internet draft Martin J. Duerst
- Re: revised "generic syntax" internet draft Keld J|rn Simonsen
- Re: revised "generic syntax" internet draft Keld J|rn Simonsen
- Re: revised "generic syntax" internet draft Jonathan Rosenne
- Re: revised "generic syntax" internet draft Keld J|rn Simonsen
- Re: revised "generic syntax" internet draft Martin J. Duerst
- Re: revised "generic syntax" internet draft Keld J|rn Simonsen
- Re: revised "generic syntax" internet draft Martin J. Duerst
- Re: revised "generic syntax" internet draft Edward Cherlin
- Opaque right hand sides (was: Re: revised "generi… John C Klensin
- Re: revised "generic syntax" internet draft Karen R. Sollins
- UTF-8 and URLs Larry Masinter
- Re: UTF-8 and URLs Dan Connolly
- Re: UTF-8 and URLs Chris Newman
- Re: UTF-8 and URLs John C Klensin
- Re: UTF-8 and URLs Francois Yergeau
- Re: UTF-8 and URLs Dan Connolly
- Re: revised "generic syntax" internet draft Edward Cherlin
- Re: revised "generic syntax" internet draft John C Klensin
- Re: revised "generic syntax" internet draft Keld J|rn Simonsen
- Re: UTF-8 and URLs Martin J. Duerst
- Re: UTF-8 and URLs Francois Yergeau
- Re: UTF-8 and URLs Dan Connolly
- Re: revised "generic syntax" internet draft Martin J. Duerst
- Re: revised "generic syntax" internet draft Martin J. Duerst
- Re: revised "generic syntax" internet draft Martin J. Duerst
- New proposal (was Re: UTF-8 and URLs) Edward Cherlin
- Re: UTF-8 and URLs Larry Masinter
- Re: revised "generic syntax" internet draft Martin J. Duerst
- Re: UTF-8 and URLs Martin J. Duerst
- initial "relative-looking" elements. Larry Masinter
- Re: revised "generic syntax" internet draft Edward Cherlin
- Re: initial "relative-looking" elements. Roy T. Fielding