/[suikacvs]/webroot/www/2004/id/draft-ietf-uri-urn-x-dns-2-00.txt
Suika

Contents of /webroot/www/2004/id/draft-ietf-uri-urn-x-dns-2-00.txt

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (show annotations) (download)
Tue Jun 15 08:37:16 2004 UTC (19 years, 11 months ago) by wakaba
Branch: MAIN
CVS Tags: HEAD
File MIME type: text/plain
New

1
2 IETF URI Working Group Paul E. Hoffman
3 Internet-Draft Proper Publishing
4 draft-ietf-uri-urn-x-dns-2-00 Ron Daniel, Jr.
5 Expires October 21, 1995 Los Alamos National Laboratory
6
7
8 x-dns-2 URN Scheme
9
10 Status of this memo
11
12 This document is an Internet-Draft. Internet-Drafts are working documents
13 of the Internet Engineering Task Force (IETF), its areas, and its working
14 groups. Note that other groups may also distribute working documents as
15 Internet-Drafts.
16
17 Internet-Drafts are draft documents valid for a maximum of six months.
18 Internet-Drafts may be updated, replaced, or obsoleted by other documents
19 at any time. It s not appropriate to use Internet- Drafts as reference
20 material or to cite them other than as a "working draft" or "work in
21 progress."
22
23 To learn the current status of any Internet-Draft, please check the
24 1id-abstracts.txt listing contained n the Internet-Drafts Shadow
25 Directories on ds.internic.net, nic.nordu.net, ftp.isi.edu or
26 munnari.oz.au.
27
28 Abstract
29
30 This document defines a scheme for resolving Uniform Resource Names (URNs)
31 using the domain name system. The scheme, called x-dns-2, allows URN
32 publishers to create URN resolvers without central registration, and
33 without changing or adding any domain names.
34
35 1. Introduction
36
37 The x-dns-2 scheme is a URN resolution scheme. These schemes are described
38 in [URNO]. The main features of x-dns-2 are very easy and quick
39 implementation, commonly-used transport protocols, and wide range of
40 resolution results.
41
42 2. Syntax
43
44 The generic syntax all URN schemes must follow is described in [URNS].
45 Within that framework, the SchemeID for the approach described in this
46 draft is "x-dns-2". The ElementID has two parts, separated by a colon (hex
47 3A):
48 - The AuthorityID, the domain name of the resolving host
49 - The RequestID, the request that is sent to the resolving host
50
51 Thus, a typical URN using the x-dns-2 scheme might be:
52 <urn:x-dns-2:library.bigstate.edu:aj17-mcc>
53 In this case, the AuthorityID is "library.bigstate.edu" and the RequestID
54 is "aj17-mcc".
55
56 In the x-dns-2 scheme, the AuthorityID is a fully qualifed domain name
57 (FQDN) [DNS] for a machine or set of machines that will run the resolution
58 service from which someone can resolve the RequestID. The owner or
59 maintainer of each domain name has the exclusive right to create, and the
60 exclusive right to resolve or cause to be resolved, RequestIDs specific to
61 that domain name. The case of the characters in the AuthorityIDs is not
62 significant.
63
64 The owner or maintainer of a FQDN automatically has the right to use of
65 that FQDN as an AuthorityID if it follows the rules in this section.
66
67 - Any host may resolve URNs without prior registration or authorization.
68
69 - AuthorityIDs cannot be reused if that FQDN has previously been used as an
70 AuthorityID, unless the new owner or maintainer of that FQDN agrees to
71 maintain all the previously-assigned RequestIDs.
72
73 - A conforming resolution service must made available at all IP addresses
74 returned by resolving the FQDN. If resolving the FQDN results in more than
75 one IP address, all the IP addresses must resolve the same set of URNs, and
76 each URN should be resolved equivalently at each IP address when at all
77 possible.
78
79 - The AuthorityID is to be treated as an opaque string. Inferring a
80 structure based on the domain names within the FQDN is unwise.
81
82 - RequestIDs that begin with exactly "urn+" are reserved for special
83 resolution, as described later.
84
85 The same RequestIDs on different domain names are explicitly unrelated. The
86 case of the characters in RequestIDs can be significant; however, current
87 practice dictates that they should not be case-sensitive. RequestIDs are
88 opaque, meaning that attempting to infer structure from the name is unwise.
89
90 3. Transport Protocol
91
92 URNs in the x-dns-2 scheme are resolved through the HTTP version 1.0
93 protocol [HTTP]. HTTP is chosen as the resolution protocol because of its
94 current wide use on the Internet, and because it allows for resolution
95 requests and resolution results that are compatible with those required for
96 URNs. Further, the content-negotiation portion of the HTTP protocol
97 provides a mechanism for gracefully handling future capabilities of URN
98 resolvers. The URN resolution specification may keep up with improvements
99 to the HTTP specification, such as future versions, security enhancements,
100 and so on.
101
102 Note that this section uses language defined in the HTTP version 1.0 draft.
103
104 Currently, the URN-resolving HTTP server for the x-dns-2 scheme shall be
105 located at TCP port 4500. After registration with the IANA, the port number
106 required will change to an IANA-reserved port number.
107
108 Because of the requirements in section 5.4 of the current HTTP 1.0
109 specification, the resolution request under HTTP is in the form of a URL.
110 It is expected that this URL will later be defined within [URL]. The
111 anticipated format for the client-side representation of the URL is the
112 same as that of the URN itself. If the HTTP version 1.0 specification
113 changes to allow non-URI forms for requests, no URL for x-dns-2 URNs is
114 required.
115
116 3.1 Resolution Requests
117
118 When passed to the HTTP URN resolver, the first three fields of the URN are
119 stripped off, leaving only the RequestID. The Method is always "GET". Thus,
120 a typical request might look like:
121
122 GET current-version-of-price-list HTTP/1.0
123
124 x-dns-2 URN HTTP clients can send URN resolution requests as HTTP
125 Simple-Requests or Full-Requests. It is strongly urged that clients use the
126 Full-Request format so that General-Headers and Request-Headers can be
127 passed. Although not required, a good resolution request creator should be
128 able to include the Accept Request-Header.
129
130 The Accept header is used to specify the format of information desired by
131 the user, if any. If the URN resolution client has no preference, no Accept
132 header should be used.
133
134 For example, a request where the user wanted to see results only in "urc-0"
135 format might look like:
136
137 GET alb002 HTTP/1.0
138 Accept: text/urc-0
139
140 It is urged that x-dns-2 URN resolvers should also be able to interpret and
141 act on all standard HTTP Request-Headers.
142
143 4. Resolution Results
144
145 The resolution request specifies the information desired in the response.
146 This might be simple list of URLs, or a more informative reply with a great
147 deal of additional information. HTTP's Accept: header is used to indicate
148 the desired format for the response, such as plain text, HTML, or some
149 application specific binary encoding suitable for cryptographic operations.
150
151 Formats for resolution results are described as Internet Media Types [IMT],
152 previously called MIME Content-Types. The following formats for resolution
153 results are defined for the x-dns-2 scheme:
154
155 text/urc-0
156 text/plain
157 text/html
158
159 text/urc-0 is a semi-structured format for Uniform Resource Characteristics
160 (URCs) [URC]. It is intended for very simple forms of automatic processing.
161 The urc-0 syntax is described in [URCZ]. It is anticipated that other URC
162 formats that enable sophisticated processing based on information will be
163 defined in the future.
164
165 Both text/plain and text/html are intended to provide URN resolution
166 capabilities to current software. This backward compatibility should ease
167 the transition to a URN-based web.
168
169 Other formats can be defined by using existing, or creating new, Internet
170 Media Types. Formats can use any media type, although it is expected that
171 most will use types "text" or "application".
172
173 4.1 HTTP Status-Line
174
175 The HTTP Status-Line is significant in URN resolution. The meaning of the
176 Status-Codes for HTTP correspond to similar meanings for URN resolution,
177 such as "200" for "OK", "301" for "Moved permanently", and so on. When at
178 all possible, the URN resolver should include relevant Reason-Phrases in
179 the Status-Lines, particularly for Status-Codes 301 and 302 (redirection).
180
181 4.2 Format for text/html Resolution Results
182
183 text/html can be used when the resolution result is meant to only be read
184 by users with HTML clients. The structure is text formatted with HTML tags,
185 as described in [HTML].
186
187 text/html allows the URLs to be displayed as active links, but it is
188 anticipated that HTML clients in the future will parse text/urc-0 and
189 automatically display it as HTML with active links.
190
191 4.3 Format for text/plain Resolution Results
192
193 text/plain can be used when the resolution result is meant to only be read
194 by humans. There is no structure implied in the format. Because it is not
195 easily parsed by client programs, it should only be used when it is
196 impossible to use other formats.
197
198 5. Reserved Requests
199
200 As mentioned before, RequestIDs beginning with "urn+" are reserved within
201 the x-dns-2 scheme. The following requests, and their responses, are
202 defined. The responses to the reserved requests may be in any of the known
203 formats. The examples below are in text/urc0 format and use character set
204 and language tags for illustration.
205
206 5.1 urn+m: Metainformation About the Resolver (required)
207
208 Returns metainformation about the resolver, such as who to contact with
209 questions, the software it is running, and so on. There is no structure to
210 the metainformation, but it is considered authoritative for each resolving
211 host; it is likely that this will be a mailto URL of an administrative
212 contact for the host system. This RequestID must be served by all
213 conforming resolvers. For example:
214
215 =====US-ASCII/en
216 mailto:url-admin@flixco.com
217 The URNs on this server mostly point to movies created by FlixCo.
218 Other URNs are pointers to affiliated libraries of classic films. We are
219 currently resolving URNs with CERN httpd 3.4a.
220
221 5.2 urn+a: List of All RequestIDs (optional)
222
223 Returns a pointer to a list of all RequestIDs that can be resolved by this
224 resolver. This RequestID is optional, but may be of great value to
225 resolution clients. The response includes a URL, where the URL points to
226 the list. That list consists of lines, each line an RequestID followed by
227 <CRLF>.
228
229 The response may also be augmented with metainformation on the number of
230 elements and so on. For example, a text/urc-0 response might be:
231
232 =====US-ASCII/en
233 ftp://ftp.flixco.com/pub/all-urns
234 This file is a list of all URNs resolvable at urn.flixco.com. The
235 file is about 50K, and is sorted with the most-recently added
236 URNs at the end.
237
238 5.3 urn+c: List of Child Naming Authorities (required)
239
240 Returns a list of the naming authorities authorized by this one. Each name
241 in the list is followed by <CRLF>. This local hierarchy information will
242 make it possible, in principle, to make complete traversals of the web of
243 URN resolvers for some SchemeIDs.
244
245 5.4 urn+p: Name of Parent Naming Authority (required)
246
247 Returns the name of the naming authority that authorized the naming
248 authority on this resolver. If a naming authority has more than one parent,
249 a list of names is returned. This is a local hierarchy operation that makes
250 it possible, in principle, to perform complete traversals of the web of URN
251 resolvers for some SchemeIDs.
252
253 6. Meeting Requirements for URNs
254
255 This proposal meets all the requirements stated in working draft for URN
256 requirements. The basic requirements from that document are:
257
258 6A. Function capabilities
259
260 Global scope: The AuthorityIDs are global in scope.
261
262 Global uniqueness: The combination of SchemeID and ElementID will always be
263 unique.
264
265 Persistence: It is easy for publishers to have their URNs last forever by
266 allowing them to hand over the resolution to one or more hosts in the
267 future. Even if the resolution of a particular URN no longer makes any
268 sense, it is easy to fully resolve the URN to something that is readable by
269 the user, and to do this forever.
270
271 Scalability: If a site gets too busy, mirror sites can be specified using
272 standard DNS procedures.
273
274 Legacy support: Current naming systems can be easily incorporated by giving
275 them their own SchemeIDs. Experimental SchemeIDs can be created with the
276 "x-" scheme.
277
278 Extensibility: All parts of the specification are designed to be
279 extensible. Additional resolution requests and resolution results can be
280 defined, and so on.
281
282 Independence: All domain names are already independent.
283
284 Resolution: The resolver uses a simple HTTP exchange, supported by dozens
285 of browsers and servers today. Further, there are already email-to-HTTP
286 gateways, allowing Internet users with only email access to resolve URNs
287 immediately.
288
289 6B. URN encoding
290
291 Single encoding: URNs have an encoding that is independent of the
292 resolution protocol. If additional resolution protocols are added, the
293 encoding of the URNs does not change; instead, the resolution clients,
294 proxies, and gateways change the request to fit the protocols.
295
296 Simple comparison: All URNs are unique and therefore easily compared (after
297 appropriate decoding and case translation).
298
299 Human transcribability: URNs can be transcribed as easily as URLs.
300
301 Transport friendliness: Like URLs, all characters that should affect
302 Internet transport are encoded.
303
304 Machine consumption: URNs and their results are easily parsed.
305
306 Text recognition: URNs will stand out in free text due to the internal
307 colons and the "urn" prefix.
308
309 6C. Implications
310
311 Uniqueness: Name assignment is delegated to domain naming authorities, who
312 may then assign names.
313
314 Scalability: The DNS naming authorities are scalable without any
315 notification to, or approval from, a central authority. Given the ease of
316 becoming the owner or maintainer of a FQDN, almost anyone should be able to
317 become a x-dns-2 URN publisher with less difficulty than they have setting
318 up most other Internet services.
319
320 Mapping to URLs: URLs can be returned in any of the resolution results
321 format types.
322
323 Transcriptability: The character set for URNs is simple and small, the same
324 as URLs.
325
326 7. Security Implications
327
328 In addition to the security implications described in [URNO], all the
329 security implications of HTTP are probably the same for URNs. Security
330 features that are added to HTTP will probably increase the security of
331 resolving URNs.
332
333 8. References
334
335 [DNS] RFC 952, "DOD Internet Host Table Specification" and RFC 1123,
336 "Requirements for Internet Hosts -- Application and Support".
337
338 [HTML] Internet-Draft, "HyperText Markup Language Specification - 2.0". The
339 name of the draft at the time of this writing is
340 "draft-ietf-html-spec-01.txt".
341
342 [HTTP] Internet-Draft, "Hypertext Transfer Protocol -- HTTP/1.0". The name
343 of the draft at the time of this writing is
344 "draft-ietf-http-v10-spec-00.txt".
345
346 [IMT] RFC 1590 "Media Type Registration Procedure".
347
348 [URC] Internet-Draft, "URC Scenarios and Requirements". The name of the
349 draft at the time of this writing is "draft-ietf-uri-urc-req-00.txt".
350
351 [URCZ] Internet-Draft, "Trivial URC Syntax: urc0". The name of the
352 draft at the time of this writing is "draft-ietf-uri-urc-trivial-00".
353
354 [URL] RFC 1738, "Uniform Resource Locators (URL)".
355
356 [URNO] Internet-Draft, "URN Resolution Overview". The name of the draft at
357 the time of this writing is "draft-ietf-uri-urn-res-descrip-00".
358
359 [URNS] Internet-Draft, "Generic URN Syntax". The name of the draft at the
360 time of this writing is "draft-ietf-uri-urn-syntax-00".
361
362 9. Author Contact Information
363
364 Paul E. Hoffman
365 Proper Publishing
366 127 Segre Place
367 Santa Cruz, CA, USA 95060
368 voice: (408) 426-6222
369 phoffman@proper.com
370
371 Ron Daniel Jr.
372 MS B287
373 Los Alamos National Laboratory
374 Los Alamos, NM, USA 87545
375 voice: (505) 665-0597
376 fax: (505) 665-4939
377 rdaniel@lanl.gov
378
379

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24