Internet DRAFT - draft-blackketter-lid
draft-blackketter-lid
Network Working Group D.J. Blackketter
Internet-Draft WebTV Networks, Inc.
Expires: August 11, 2000 M.A. Dolan
TerraByte Technology
C.A. Finseth
Firwood Consulting
G. Thomas
LGERCA, Inc.
D.J. Zigmond
WebTV Networks, Inc.
February 11, 2000
The Local Identifier (lid:) URI Scheme
draft-blackketter-lid-00.txt
Status of this Memo
This document is an Internet-Draft and is NOT offered in accordance
with Section 10 of RFC2026, and the author does not provide the IETF
with any rights other than to publish as an Internet-Draft.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as
Internet-Drafts.
Internet-Drafts are draft documents valid for a maximum of six
months and may be updated, replaced, or obsoleted by other documents
at any time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html.
This Internet-Draft will expire on August 11, 2000.
Abstract
This document describes the Local Identifier or "lid:" URI scheme.
Blackketter, et. al. Expires August 11, 2000 [Page 1]
Internet-Draft The lid: URI scheme February 2000
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Description . . . . . . . . . . . . . . . . . . . . . . . . . 4
3. Security Considerations . . . . . . . . . . . . . . . . . . . 6
References . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . 7
A. Syntax of Local Identifier URIs . . . . . . . . . . . . . . . 9
B. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 11
Blackketter, et. al. Expires August 11, 2000 [Page 2]
Internet-Draft The lid: URI scheme February 2000
1. Introduction
Content delivered by a one-way broadcast is not necessarily
available on-demand, as it is when delivered by HTTP or FTP. For
such content, it is necessary to have a unique identifier for each
resource. To support cross-references within the content (for use in
hyperlinks or to embed one piece of content in another), these local
names must be location-independent.
The "lid:" URI scheme enables content creators to assign unique
identifiers to each resource relative to a given namespace. Thus the
author can establish a new namespace for a set of content and then
use simple, human-readable names for all resources within that
space. The "lid:" scheme can be used to uniquely identify any
content that is available locally (from a cache, for example) and is
used in the Advanced Television Enhancement Forum specification[2]
to identify resources that are broadcast in conjunction with
television programming.
In addition, the "lid:" URI scheme may be useful in any system to
reference content that may only be available in a local cache. The
use of the "lid:" may be preferable to using "file:" or "cid:" URIs
in these cases.
Blackketter, et. al. Expires August 11, 2000 [Page 3]
Internet-Draft The lid: URI scheme February 2000
2. Description
lid: URIs fully comply with the syntax called out in RFC2396[1].
This document will not review the entire syntax. Rather, it will
just highlight the specifics. Numbers in {}s refer to RFC 2396
section numbers.
lid: URIs are simultaneously URIs and URNs {1.2}. The term "URI"
will continue to be used to refer to the collection. They are
technically URLs as well, but only in a trivial way.
lid: URIs are hierachical and the relative forms are fully supported
{1.4}. The "." and ".." path components are given their accustomed
meanings.
The standard character set restrictions and operations (e.g.
quoting) are used {2.}.
This document does not specify a maximum length of an lid: URI.
Content authors should consult the set of instantiation documents
covering their target systems to determine any limitations on length.
The standard form {3.} of the "lid:" URI is as follows:
lid://<authority><path>?<query>
The <authority> part is a registration-based naming authority. The
registration is the Domain Name System {3.2}. Note that the
<authority> part is not expected to ever be resolved via DNS
servers. Further, the <authority> part must be a name: a numeric
identifier (such as IPv4 address) is not permissible {3.2.2}.
The <path> names a specific resource within the name space, and must
follow the generic relative URI syntax. As with all URI schemes that
support the generic relative URI syntax, this path component can be
used alone as a relative URI, where the namespace is implied by a
base URI specified for the content through other means.
The server-based portions {3.2.1}, including "<userinfo>@" and
":<port>", are permitted but their meaning is not defined here.
Path component interpretation is as specified in {3.3}. Path
components, as well as complete lid: URIs, are compared in a
case-independent fashion.
Query components are permitted; interpretation is as specified in
{3.4}.
Blackketter, et. al. Expires August 11, 2000 [Page 4]
Internet-Draft The lid: URI scheme February 2000
Fragment identifiers are permitted; interpretation is as specified
in {4.1}.
Relative URI references are permitted within an application.
However, all URIs will be converted to fully-qualified form before
being passed to the environment for lookup {5.}.
In general, Base URIs as described in {5.1} operate as specified.
Specific instantiations of this scheme may specify alternate Base
URI semantics.
Each instantiation of this scheme will specify how default Base URIs
are obtained. {5.1.4}
Some examples:
lid://xyz.com/myshow/episode100/george.html
lid://specials.news.com/logos/daisy.jpg
lid://unique2345@blahblah.com/rootpage.html?name=zella#bday
Blackketter, et. al. Expires August 11, 2000 [Page 5]
Internet-Draft The lid: URI scheme February 2000
3. Security Considerations
The local identifier URI scheme is subject to the same security
implications as in general URI[1] schemes, so the usual precautions
apply. This means that some local identifier URIs may refer to
resources that are not available (because they have not been
received, for example), or to resources that have been received, but
were intentionally misidentified. Appropriate security mechanisms
should be used in the delivery of content identified by local
identifier URIs.
Blackketter, et. al. Expires August 11, 2000 [Page 6]
Internet-Draft The lid: URI scheme February 2000
References
[1] Berners-Lee, T., Masinter, L. and R. Fielding, "Uniform
Resource Identifiers (URI): Generic Syntax", RFC 2396, August
1998.
[2] ATVEF, "Advanced Television Enhancement Forum Specification
(ATVEF) Enhanced Content Specification", February 1999.
Authors' Addresses
Dean J. Blackketter
WebTV Networks, Inc.
1295 Charleston Road
Mountain View, CA 94043
US
Phone: +1 650 614 5521
EMail: dean@blackketter.com
Michael A. Dolan
TerraByte Technology
PO Box 1673
Alpine, CA 91903
US
Phone: +1 619 445-9070
EMail: miked@tbt.com
Craig A. Finseth
Firwood Consulting
1343 Lafond
St. Paul, MN 55104
US
Phone: +1 651 644 4027
EMail: craig@firwood.net
Gomer Thomas
LGERCA, Inc.
40 Washington Road
Princeton Junction, NJ 08550
US
EMail: gomer@lgerca.com
Blackketter, et. al. Expires August 11, 2000 [Page 7]
Internet-Draft The lid: URI scheme February 2000
Dan J. Zigmond
WebTV Networks, Inc.
1295 Charleston Road
Mountain View, CA 94043
US
Phone: +1 650 614 3341
EMail: djz@corp.webtv.net
Blackketter, et. al. Expires August 11, 2000 [Page 8]
Internet-Draft The lid: URI scheme February 2000
Appendix A. Syntax of Local Identifier URIs
The collected BNF for "lid:" URIs is encoded as specified in RFC
2396[1]. The specific BNF for "lid:" URIs is as follows:
lidURI = "lid://" authority [ "/" [ path_segments ] ]
[ "?" query ] [ "#" fragment ]
authority = [ userinfo "@" ] hostname [ ":" port ]
userinfo = *( unreserved | escaped |
";" | ":" | "&" | "=" | "+" | "$" | "," )
hostname = *( domainlabel "." ) toplabel [ "." ]
domainlabel = alphanum | alphanum *( alphanum | "-" ) alphanum
toplabel = alpha | alpha *( alphanum | "-" ) alphanum
port = *digit
path_segments = segment *( "/" segment )
segment = *pchar *( ";" param )
param = *pchar
pchar = unreserved | escaped |
":" | "@" | "&" | "=" | "+" | "$" | ","
query = *uric
fragment = *uric
uric = reserved | unreserved | escaped
reserved = ";" | "/" | "?" | ":" | "@" | "&" | "=" | "+" |
"$" | ","
unreserved = alphanum | mark
mark = "-" | "_" | "." | "!" | "~" | "*" | "'" |
"(" | ")"
escaped = "%" hex hex
hex = digit | "A" | "B" | "C" | "D" | "E" | "F" |
"a" | "b" | "c" | "d" | "e" | "f"
alphanum = alpha | digit
alpha = lowalpha | upalpha
lowalpha = "a" | "b" | "c" | "d" | "e" | "f" | "g" | "h" | "i" |
"j" | "k" | "l" | "m" | "n" | "o" | "p" | "q" | "r" |
"s" | "t" | "u" | "v" | "w" | "x" | "y" | "z"
upalpha = "A" | "B" | "C" | "D" | "E" | "F" | "G" | "H" | "I" |
"J" | "K" | "L" | "M" | "N" | "O" | "P" | "Q" | "R" |
"S" | "T" | "U" | "V" | "W" | "X" | "Y" | "Z"
digit = "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" |
Blackketter, et. al. Expires August 11, 2000 [Page 9]
Internet-Draft The lid: URI scheme February 2000
"8" | "9"
Blackketter, et. al. Expires August 11, 2000 [Page 10]
Internet-Draft The lid: URI scheme February 2000
Appendix B. Acknowledgements
The authors gratefully acknowledge the contributions of the ATVEF
Technical Working Group, and in particular: Lee Acton, Jonathan
Boltax, Wayne Carr, Michael Dolan, Iain Hackett, Cheryl Kadis, David
Mott, Isaac Sheldon, Scott Watson, Mark Vickers, and Dan Zigmond.
Blackketter, et. al. Expires August 11, 2000 [Page 11]