W3C home > Mailing lists > Public > uri@w3.org > November 2006

Re: The 'javascript' scheme

From: Bjoern Hoehrmann <derhoermi@gmx.net>
Date: Wed, 08 Nov 2006 17:16:28 +0100
To: Graham Klyne <GK@ninebynine.org>
Cc: uri@w3.org, uri-review@ietf.org
Message-ID: <egu3l25r1afmi7plfllf123cb0tphl6nbv@hive.bjoern.hoehrmann.de>

* Graham Klyne wrote:
>What is the "resource" that is identified by a javascript: URI?  If you mean the
>javascript code, then how is the result of dereferencing the URI [1] (executing
>the code) to be considered a "representation" of that resource?  In this
>respect, I find the comparison with data: URIs to be misleading, since the
>resource identified by a data: URI is clearly represented in some way by its body.

It may well be that the draft doesn't use the best available terminology
and I am happy to change it if someone can come up with better terms. It
currently does not say what resource is being identified, instead it de-
fines two forms of "URI dereference". I think that executing code is not
"the result" of dereference, but part of it. I further think that deref-
erence, as defined in RFC 3986, does not imply retrieval of a resource/
representation--and as such I don't think your second question is valid.

  URI "resolution" is the process of determining an access
  mechanism and the appropriate parameters necessary to
  dereference a URI; this resolution may require several
  iterations.  To use that access mechanism to perform an
  action on the URI's resource is to "dereference" the URI.

In the "resolution" process you determine whether you use only content
retrieval or in-context evaluation, and in case of the latter other pa-
rameters like a ECMAScript global object, what type of code you have to
bind the `this` object, etc. Then you dereference the identifier as the
draft requires for the access method of your choosing. Note again that
there is nothing in the draft that says

  <script src='javascript:...' ...

is any different from

  <script src='data:...' ...

It may be, and often is, but in some cases, like X3D and VRML, it is
not. If that wasn't the case, it would have been possible to say that
a javascript:... resource identifier identifies a JavaScript object 
or nothing, and that to determine what it identifies, you have to per-
form in-context evaluation. But as this would contradict ISO standards
and probably cause similar confusion, I have not attempted to define
what resource is being identified, and the "result" of the evaluation
is termed "dereference by-product". As I said, there may be better ways
to phrase things; suggestions welcome.
-- 
Björn Höhrmann · mailto:bjoern@hoehrmann.de · http://bjoern.hoehrmann.de
Weinh. Str. 22 · Telefon: +49(0)621/4309674 · http://www.bjoernsworld.de
68309 Mannheim · PGP Pub. KeyID: 0xA4357E78 · http://www.websitedev.de/ 
Received on Wednesday, 8 November 2006 16:23:23 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 21:25:10 UTC