1 |
wakaba |
1.1 |
Uniform Resource Identifiers Working Group Michael Mealling |
2 |
|
|
INTERNET-DRAFT Georgia Institute of Technology |
3 |
|
|
Expires: 8 January 95 |
4 |
|
|
|
5 |
|
|
8 July 94 |
6 |
|
|
|
7 |
|
|
|
8 |
|
|
|
9 |
|
|
Encoding and Use of Uniform Resource Characteristics |
10 |
|
|
<draft-ietf-uri-urc-spec-00.txt> |
11 |
|
|
|
12 |
|
|
STATUS OF THIS MEMO |
13 |
|
|
|
14 |
|
|
This document is an Internet-Draft. Internet-Drafts are working |
15 |
|
|
documents of the Internet Engineering Task Force (IETF), its areas, |
16 |
|
|
and its working groups. Note that other groups may also distribute |
17 |
|
|
working documents as Internet-Drafts. |
18 |
|
|
|
19 |
|
|
Internet-Drafts are draft documents valid for a maximum of six |
20 |
|
|
months and may be updated, replaced, or obsoleted by other |
21 |
|
|
documents at any time. It is inappropriate to use Internet- Drafts |
22 |
|
|
as reference material or to cite them other than as ``work in |
23 |
|
|
progress.'' |
24 |
|
|
|
25 |
|
|
To learn the current status of any Internet-Draft, please check the |
26 |
|
|
``1id-abstracts.txt'' listing contained in the Internet- Drafts |
27 |
|
|
Shadow Directories on ds.internic.net (US East Coast), |
28 |
|
|
nic.nordu.net (Europe), ftp.isi.edu (US West Coast), or |
29 |
|
|
munnari.oz.au (Pacific Rim). |
30 |
|
|
|
31 |
|
|
Abstract |
32 |
|
|
******** |
33 |
|
|
|
34 |
|
|
This document describes a Uniform Resource Characteristic, a method for |
35 |
|
|
encoding information about a given network resource. This information is |
36 |
|
|
called meta-information since it is not information that is actually found |
37 |
|
|
in the resource itself. The design of this Uniform Resource Characteristic |
38 |
|
|
was driven by the set of design requirements as specified in the |
39 |
|
|
"Specification of Uniform Resource Characteristics" Internet draft |
40 |
|
|
[Mealling 94]. The method of encoding is based on the simple use of |
41 |
|
|
attribute/value pairs utilized in several existing network systems |
42 |
|
|
including RFC822 e-mail headers, IAFA templates, and the draft whois++ |
43 |
|
|
system [Deutsch 94]. In addition to the specification, several examples |
44 |
|
|
are provided which illustrate complex information encoding and actual |
45 |
|
|
client/server using whois++ as the protocol. |
46 |
|
|
|
47 |
|
|
Uniform Resource Characteristics |
48 |
|
|
******************************** |
49 |
|
|
|
50 |
|
|
1: Introduction |
51 |
|
|
*************** |
52 |
|
|
|
53 |
|
|
This specification fulfills the requirements of the draft Uniform Resource |
54 |
|
|
Characteristic Requirements document [Mealling 94] in a way that utilizes |
55 |
|
|
existing systems and services. This specification not only solves these |
56 |
|
|
requirements but also solves several apparent problems within the proposed |
57 |
|
|
information architecture. In addition to the requirements outlined in the |
58 |
|
|
requirements document, other design goals were added such as simplicity and |
59 |
|
|
use of existing technology. The resulting encoding method provides for a |
60 |
|
|
simple yet extensible method for describing the characteristics of a resource |
61 |
|
|
without requiring that the user doing the data collection be extremely |
62 |
|
|
knowledgeable about the underlying technology. |
63 |
|
|
|
64 |
|
|
2: Design Goals |
65 |
|
|
=============== |
66 |
|
|
|
67 |
|
|
In addition to the design requirements in the draft requirements specification, |
68 |
|
|
several requirements were added in order to make sure that a system that |
69 |
|
|
utilized URCs did not need to be overly complex. These design requirements |
70 |
|
|
are listed below with an explanation of each. |
71 |
|
|
|
72 |
|
|
o Simplicity: A URC specification must be simple enough for practically |
73 |
|
|
anyone to understand or to encode. This allows users to encode and |
74 |
|
|
maintain a given URC without the need for esoteric computer science |
75 |
|
|
knowledge. |
76 |
|
|
o Extensibility: Any specification must be able to encompass a great deal |
77 |
|
|
of growth and change in the elements that it may contain. This should |
78 |
|
|
allow the development of wholly new and different URIs without the |
79 |
|
|
need for developing a completely new system for encapsulating and |
80 |
|
|
transporting them. |
81 |
|
|
o Compatibility: Since URCs will be utilized by vastly different systems |
82 |
|
|
on vastly different networks it must be encoded in such a way as to |
83 |
|
|
allow very complex systems to communication complex information |
84 |
|
|
via very simple gateways and access methods. |
85 |
|
|
o Use of existing and developing technology: In order to be able to |
86 |
|
|
implement something soon, an encoding specification should allow |
87 |
|
|
existing systems to be easily retrofitted to use URCs. The use of |
88 |
|
|
existing systems that already support object similar to URCs is |
89 |
|
|
encouraged. |
90 |
|
|
|
91 |
|
|
These design goals specify an encoding method that is very simple and easy to |
92 |
|
|
read and/or write. This should allow anyone to easily incorporate a URC |
93 |
|
|
handling system into any platform or network without the need for large |
94 |
|
|
amounts of parsing or coding. |
95 |
|
|
|
96 |
|
|
3: Encoding specification |
97 |
|
|
========================= |
98 |
|
|
|
99 |
|
|
3.1: Design Decisions: |
100 |
|
|
++++++++++++++++++++++ |
101 |
|
|
|
102 |
|
|
At its simplest, meta-information about a given resource can be specified as a |
103 |
|
|
simple attribute-value pair. The only two items that are needed to specify the |
104 |
|
|
author of a document is something to identify the given text element as |
105 |
|
|
having the identity of "Author" and then the text element itself. There are |
106 |
|
|
several ways to write this relationship. The simplest by far is to specify some |
107 |
|
|
type of equality character between the two elements. It then becomes a simple |
108 |
|
|
exercise of selecting the equality character and specifying some method of |
109 |
|
|
encoding special situations such as character quoting and line continuation. |
110 |
|
|
|
111 |
|
|
With the additional design requirement of utilizing existing work and systems |
112 |
|
|
already in use it is useful to recognize that several existing systems use |
113 |
|
|
either RFC822 header type encoding or similar encodings that use the colon as |
114 |
|
|
the attribute-value equality character. Currently many Archie servers support |
115 |
|
|
the IAFA [Emtage 1994] template specification that is used to encode specific |
116 |
|
|
pieces of meta-information about items available for anonymous ftp. |
117 |
|
|
|
118 |
|
|
3.2: Encoding |
119 |
|
|
+++++++++++++ |
120 |
|
|
|
121 |
|
|
Therefore, the encoding of a Uniform Resource Characteristic will follow the |
122 |
|
|
following encoding structure: |
123 |
|
|
|
124 |
|
|
[attribute_name]:[value] |
125 |
|
|
|
126 |
|
|
where attribute_name is of a specified set of well known attribute_names that |
127 |
|
|
should be recognized, but not necessarily acted on, by all implementations. |
128 |
|
|
Experimental attribute_names should be encoded with the |
129 |
|
|
[X-attribute_name] notation. [value] is a text string that may flow over |
130 |
|
|
several lines. In the event that a text line flows over several lines the first |
131 |
|
|
character of the continued line should be a space. Specifics about what |
132 |
|
|
information is contained and how it is encoded with respect to the [value] is |
133 |
|
|
left up to the specification of each [attribute-name]. |
134 |
|
|
|
135 |
|
|
There are no attribute/value pairs that are required to be a part of a URC. |
136 |
|
|
|
137 |
|
|
Minimal set of attribute/value pairs |
138 |
|
|
++++++++++++++++++++++++++++++++++++ |
139 |
|
|
|
140 |
|
|
In order to allow work to proceed some set of initial attribute/value pairs must |
141 |
|
|
be specified. The pairs listed below are a basic set of useful and badly needed |
142 |
|
|
items. It is intended that any additions or subtractions from this list will be |
143 |
|
|
handled by the Uniform Resource Identifier Working Group. It is also |
144 |
|
|
intended that this list should be extended since the full usefulness of URCs is |
145 |
|
|
beyond the scope of these pairs listed. |
146 |
|
|
|
147 |
|
|
|
148 |
|
|
o URN: |
149 |
|
|
This attribute/value pair is dependent on the outcome of the |
150 |
|
|
discussions in the URI-WG of the IETF. A URN is a Uniform |
151 |
|
|
Resource Name [Sollins 94] which is used to give a resource a name |
152 |
|
|
that can be used instead of a URL. The only requirement it makes on |
153 |
|
|
URNs is that it begin with "URN:" so that it follows the same method |
154 |
|
|
of identification as a URL. |
155 |
|
|
|
156 |
|
|
Example (dependent on the decision concerning URNs): |
157 |
|
|
|
158 |
|
|
URN:IANA:626:oit.5647 |
159 |
|
|
|
160 |
|
|
|
161 |
|
|
o URL: |
162 |
|
|
This pair must conform to the current Uniform Resource Locator |
163 |
|
|
specification as defined in the URL Internet-Draft[Berners-Lee 94-1]. |
164 |
|
|
|
165 |
|
|
Example: |
166 |
|
|
|
167 |
|
|
URL:http://www.gatech.edu/ietf/urc.encoding.html |
168 |
|
|
|
169 |
|
|
|
170 |
|
|
o LIFN: |
171 |
|
|
This pair is a place holder for the development of a URI that |
172 |
|
|
specifically addresses the function of Location Independent File |
173 |
|
|
Names. The example given is for illustration purposes only and is not |
174 |
|
|
indicative of any current specification or draft. |
175 |
|
|
|
176 |
|
|
Example: |
177 |
|
|
|
178 |
|
|
LIFN:md5:2039874029834059283709475029387405928374095827394875 |
179 |
|
|
|
180 |
|
|
|
181 |
|
|
o Author: |
182 |
|
|
This pair will encode the name of the Author of a given document or |
183 |
|
|
resource. Since many cultures have different ways of writing names |
184 |
|
|
there are no requirements on how a name should be written. Thus it is |
185 |
|
|
encouraged that users encode names in the most common format i.e. |
186 |
|
|
first, middle and last in English societies. |
187 |
|
|
|
188 |
|
|
Example: |
189 |
|
|
|
190 |
|
|
Author: Michael Mealling |
191 |
|
|
|
192 |
|
|
|
193 |
|
|
o TTL: |
194 |
|
|
This pair encodes a Time To Live measured in seconds. Infinity is |
195 |
|
|
denoted by the '+' character. This element references the attribute/value |
196 |
|
|
pair directly preceding it (see section 4) and is meant as a caching aid. |
197 |
|
|
|
198 |
|
|
Example: |
199 |
|
|
|
200 |
|
|
TTL:86400 |
201 |
|
|
|
202 |
|
|
|
203 |
|
|
o Abstract: |
204 |
|
|
This pair encodes a short abstract about the given resource. Any |
205 |
|
|
characters are allowed. Line continuation follows normal rules. |
206 |
|
|
|
207 |
|
|
Example: |
208 |
|
|
|
209 |
|
|
Abstract: |
210 |
|
|
This document explores the various flight patterns and speeds of |
211 |
|
|
unladden African and European swallows. A companion document concerning |
212 |
|
|
the relative velocities of swallows ladden with coconuts is available. |
213 |
|
|
|
214 |
|
|
|
215 |
|
|
|
216 |
|
|
In addition to the above all of the header fields listed in the current HTTP |
217 |
|
|
specification [Berners-Lee 93-2] are included with several caveats that are |
218 |
|
|
listed below: |
219 |
|
|
|
220 |
|
|
o Header line order: |
221 |
|
|
Currently, the header lines are specified to be able to occur in any |
222 |
|
|
order. Since a URC contains structured information (see section 4) a |
223 |
|
|
URC used in the context of HTTP must maintain the order of any |
224 |
|
|
given header fields. |
225 |
|
|
|
226 |
|
|
o URI header field: |
227 |
|
|
Since a URC can contain URLs and URNs, the URI header should be |
228 |
|
|
removed and URL: and URN: added. Also, it is unclear in the HTTP |
229 |
|
|
specification whether the URI field pertains to the body object to follow |
230 |
|
|
or whether the client should then load that given URL. This should be |
231 |
|
|
clarified. |
232 |
|
|
|
233 |
|
|
o Version header field: |
234 |
|
|
In order to give some ability to utilize different version schemes it is |
235 |
|
|
recommended that the Version field be given the idea of schemas so |
236 |
|
|
that machine based algorithms can be used to differentiate resources. |
237 |
|
|
For this specification only one schema is given but more can be |
238 |
|
|
developed. |
239 |
|
|
|
240 |
|
|
o Schema 1: decimal This schema specifies the use of the |
241 |
|
|
standard decimal type of version enumeration. For example, |
242 |
|
|
this is version 1.0 of this document. At the authors or publishers |
243 |
|
|
whim it can change to version 1.1 or even 2.0. |
244 |
|
|
|
245 |
|
|
Example: |
246 |
|
|
|
247 |
|
|
Version:decimal:1.0 |
248 |
|
|
|
249 |
|
|
4: Internal Structure |
250 |
|
|
===================== |
251 |
|
|
|
252 |
|
|
In order for a URC to be able to encode meta-information about several |
253 |
|
|
instances of objects and to be able to show such relationships between those |
254 |
|
|
objects, there must be some structure to a URC. The easiest and most elegant |
255 |
|
|
method is simply to introduce a set of precedence rules onto the above set of |
256 |
|
|
attribute/value pairs. This allows the URC to be broken up into specific |
257 |
|
|
subsections that only pertain to other objects. |
258 |
|
|
|
259 |
|
|
As above, this set of precedence rules is extensible by the IETF URI Working |
260 |
|
|
Group. |
261 |
|
|
|
262 |
|
|
|
263 |
|
|
o URNs have precedence over all other pairs, except for LIFNs. |
264 |
|
|
|
265 |
|
|
A URN is a name for a resource which can be represented by several |
266 |
|
|
actual instances. |
267 |
|
|
|
268 |
|
|
Example: |
269 |
|
|
|
270 |
|
|
URN:IANA:626:oit.5674 |
271 |
|
|
URL:http://www.gatech.edu/iiir/urc2.paper.html |
272 |
|
|
URL:gopher://gopher.gatech.edu:2048/iiir/urc2.paper |
273 |
|
|
|
274 |
|
|
In this example the URN has global scope. This example describes a |
275 |
|
|
resource who's name is the URN which has two occurences on the |
276 |
|
|
net: one via http and another via gopher. |
277 |
|
|
|
278 |
|
|
o LIFNs are equal to URNs in precedence only. |
279 |
|
|
|
280 |
|
|
An LIFN has many of the same characteristics of a URN. While there |
281 |
|
|
is no current specification of exactly what a LIFN is or does this paper |
282 |
|
|
will attempt to place them in the structure of a URC. This is definitely |
283 |
|
|
up for discussion. |
284 |
|
|
Example: |
285 |
|
|
|
286 |
|
|
URN:IANA:626:oit.5674 |
287 |
|
|
LIFN:osi8eu4o95wuoi4uowi8e45f8w34owoerp |
288 |
|
|
URL:http://www.gatech.edu/iiir/urc2.paper.html |
289 |
|
|
|
290 |
|
|
This example designates that this URN is also known by the given |
291 |
|
|
LIFN and that both have the given URL as an instance. |
292 |
|
|
|
293 |
|
|
o URLs have precedence over all other pairs except for URNs |
294 |
|
|
and LIFNs until the occurrence of a new URL. |
295 |
|
|
|
296 |
|
|
A URL is one instantiation of a given resource. Any given |
297 |
|
|
attribute/value pair can describe that specific instance except for a |
298 |
|
|
URN or LIFN which are described by a URL. |
299 |
|
|
|
300 |
|
|
Example: |
301 |
|
|
|
302 |
|
|
URN:IANA:626:oit.5674 |
303 |
|
|
URL:http://www.gatech.edu/iiir/urc2.paper.html |
304 |
|
|
Content-Type: text/html |
305 |
|
|
Content-Length: 89345 |
306 |
|
|
URL:gopher://gopher.gatech.edu:2048/iiir/urc2.paper |
307 |
|
|
Content-Type: text/plain |
308 |
|
|
Content-Length: 4563 |
309 |
|
|
|
310 |
|
|
Since URLs only have precedence over whatever is between them and |
311 |
|
|
the next URL, this example shows that the MIME Content headers |
312 |
|
|
only describe the URL directly above them. Thus the meaning of this |
313 |
|
|
URC is that this URN has two given instances and that the first |
314 |
|
|
instance is an HTML document of 89345 bytes and that the second is a |
315 |
|
|
plain text document of 4563 bytes. |
316 |
|
|
|
317 |
|
|
o TTLs have no precedence over any other attribute/value pair |
318 |
|
|
and therefore describe any element directly before it. |
319 |
|
|
|
320 |
|
|
A TTL element is meant as a caching aid. It is important to be able to |
321 |
|
|
identify certain elements of a URC as having a specific time to live. |
322 |
|
|
The TTL element will then specify the time to live of whichever |
323 |
|
|
element immediately precedes the TTL attribute/value pair. |
324 |
|
|
|
325 |
|
|
Example: |
326 |
|
|
|
327 |
|
|
URN:IANA:626:oit.5674 |
328 |
|
|
TTL: + |
329 |
|
|
URL:http://www.gatech.edu/iiir/urc2.paper.html |
330 |
|
|
TTL:2592000 |
331 |
|
|
Content-Type: text/html |
332 |
|
|
Content-Length: 89345 |
333 |
|
|
|
334 |
|
|
In this example the first TTL is not needed since a URN has an infinite |
335 |
|
|
time to live. This one is simply used as an illustration. The next one |
336 |
|
|
specifies that the given URL has a time to live of 30 days. Since the |
337 |
|
|
next two elements describe that URL, it can be assumed that those two |
338 |
|
|
elements also have the same time to live. |
339 |
|
|
|
340 |
|
|
|
341 |
|
|
4.1 Other possible elements and precedence rules |
342 |
|
|
++++++++++++++++++++++++++++++++++++++++++++++++ |
343 |
|
|
|
344 |
|
|
In the interest of possible examples and real world uses, listed below are |
345 |
|
|
several possible additions to the above list of attribute/value pairs and |
346 |
|
|
precedence rules. These are only meant for discussion and are not part of the |
347 |
|
|
current specification. |
348 |
|
|
|
349 |
|
|
Possible future attribute/value pairs: |
350 |
|
|
|
351 |
|
|
|
352 |
|
|
o Collection: |
353 |
|
|
|
354 |
|
|
This pair will allow the encoder to specify other URNs or URLs that |
355 |
|
|
are considered to be in a collection with the given URN or URL. |
356 |
|
|
|
357 |
|
|
Example: |
358 |
|
|
|
359 |
|
|
URN:IANA:626:oit.5674 |
360 |
|
|
Collection:URN:IANA:626:oit.5673 |
361 |
|
|
URN:IANA:1:ietf-uri-002 |
362 |
|
|
URN:IANA:1:ietf-uri-003 |
363 |
|
|
|
364 |
|
|
This simply means that the given URN is in a collection and that some |
365 |
|
|
of its members are given as a list. |
366 |
|
|
|
367 |
|
|
o Authoritative: |
368 |
|
|
|
369 |
|
|
This pair will give the location of the authoritative URC server for the |
370 |
|
|
given URN. This will serve as a pointer of last resort for the URC of |
371 |
|
|
the given URN. This would require some method of being able to |
372 |
|
|
identify a given URC database server. |
373 |
|
|
|
374 |
|
|
Example: |
375 |
|
|
|
376 |
|
|
URN:IANA:626:oit.5674 |
377 |
|
|
Authoritative:URL:whois://whois.gatech.edu:7070/template=urc |
378 |
|
|
|
379 |
|
|
|
380 |
|
|
|
381 |
|
|
Possible future precedence rules: |
382 |
|
|
|
383 |
|
|
o Multiple URNs in the same URC denote simple relationship |
384 |
|
|
|
385 |
|
|
This is simply used as a method for the URC server to return |
386 |
|
|
additional URNs that it thinks may be of value to the client. This is |
387 |
|
|
useful if the server can do link prediction. If a client can already have a |
388 |
|
|
URC for a given URN cached then it doesn not have to do a network call for |
389 |
|
|
that related resource. |
390 |
|
|
|
391 |
|
|
Example: |
392 |
|
|
|
393 |
|
|
URN:IANA:626:oit.5674 |
394 |
|
|
URL:http://www.gatech.edu/iiir/urc2.paper.html |
395 |
|
|
URN:IANA:1:ietf-uri-002 |
396 |
|
|
URL:http://cnri.reston.va.us/internet-drafts/draft-ietf-uri-urn2urc.txt |
397 |
|
|
|
398 |
|
|
This simply is the server's way of telling the client if the user is |
399 |
|
|
interested in this resource that he/she may also be interested in the |
400 |
|
|
other one. |
401 |
|
|
|
402 |
|
|
o Relationship operations denoted by special attribute/value pairs |
403 |
|
|
|
404 |
|
|
Attribute/value pairs could be specified that allow different types of |
405 |
|
|
precedence rules to apply in different instances. A Block: pair could |
406 |
|
|
specify a set of values that describe a specific URL or URN without |
407 |
|
|
interacting with the given external precedence rules. These block |
408 |
|
|
pairs would have numbers assigned to denote block nesting. |
409 |
|
|
|
410 |
|
|
Example: |
411 |
|
|
|
412 |
|
|
URN:IANA:626:oit.5674 |
413 |
|
|
Authoritative:URL:whois://whois.gatech.edu:7070/template=urc |
414 |
|
|
Block:1 |
415 |
|
|
URN:IANA:626:oit.5600 |
416 |
|
|
URN:IANA:626:oit.5601 |
417 |
|
|
URN:IANA:626:oit.5602 |
418 |
|
|
Block:1 |
419 |
|
|
|
420 |
|
|
This illustrates that the URNs in block number 1 also have the |
421 |
|
|
given authoritative site as their authoritative URC server. |
422 |
|
|
|
423 |
|
|
5: Usage of URCs |
424 |
|
|
================ |
425 |
|
|
|
426 |
|
|
In order for URCs to be useful they must be contained in some type of |
427 |
|
|
network based retrieval tool. This will allow for URCs to be used as a |
428 |
|
|
resolution service with considerable power. Currently there are several |
429 |
|
|
systems that could be retrofitted to handle URCs. One of the best suited |
430 |
|
|
services is the draft whois++ [Deutsch 94]. Whois++ is an extension to the |
431 |
|
|
trivial WHOIS service which allows servers to make more structure |
432 |
|
|
information available. Additions to the trivial WHOIS protocol allow for |
433 |
|
|
communication between whois++ servers so that information can be shared |
434 |
|
|
across collections of servers. |
435 |
|
|
|
436 |
|
|
The two primary advantages to using whois++ are that the data is structured |
437 |
|
|
in the same template format as URCs and that the distributed nature allows a |
438 |
|
|
search to start local and expand globally as required. Below are several |
439 |
|
|
sessions between some client and a whois++ server in which example URCs |
440 |
|
|
are given: |
441 |
|
|
|
442 |
|
|
|
443 |
|
|
A complete discussion of the capabilities and uses of the whois++ protocol are |
444 |
|
|
beyond the scope of this paper. Please refer to current internet-drafts for a |
445 |
|
|
much more indepth review of the whois++ protocol. |
446 |
|
|
|
447 |
|
|
URC lookup based on URN |
448 |
|
|
+++++++++++++++++++++++ |
449 |
|
|
|
450 |
|
|
In this example a client program has connected to a whois++ server and has |
451 |
|
|
requested a record that contains the given URN. |
452 |
|
|
|
453 |
|
|
% 220-This is merlin (GATECH01) running KTH-whois++ ver.1.4 |
454 |
|
|
% 220 Enter search string or type 'help' for help. |
455 |
|
|
template=urn;URN=IANA:623:oit:cs:ftp-and-telnet |
456 |
|
|
% 201 Command okay |
457 |
|
|
# FULL 1 |
458 |
|
|
|
459 |
|
|
# URN GATECH02 |
460 |
|
|
URN:IANA:623:oit:cs:ftp-and-telnet |
461 |
|
|
Title: Intro to FTP and Telnet |
462 |
|
|
Author: Adam Arrowood |
463 |
|
|
URL:file://ftp.gatech.edu/pub/docs/ftp.telnet.ps |
464 |
|
|
Content-Type: text/postscript |
465 |
|
|
Size: 1MB |
466 |
|
|
URL:http://www.gatech.edu/oit/info/ftp.telnet.html |
467 |
|
|
Content-Type: text/html |
468 |
|
|
Size: 600K |
469 |
|
|
Cost: US$0.25 |
470 |
|
|
|
471 |
|
|
# END |
472 |
|
|
% 226 Transfer complete |
473 |
|
|
% 203 Bye! |
474 |
|
|
|
475 |
|
|
The URC that was returned contains two instances of the resource whose title |
476 |
|
|
and author are given below the URN. This URC describes the resource Intro |
477 |
|
|
to FTP and Telnet which was written by Adam Arrowood and is available via |
478 |
|
|
anonymous ftp in postscript and WWW in HTML. |
479 |
|
|
|
480 |
|
|
|
481 |
|
|
|
482 |
|
|
URC lookup based on URL |
483 |
|
|
++++++++++++++++++++++++ |
484 |
|
|
|
485 |
|
|
In this example a client does not know the URN of a given document, but does |
486 |
|
|
know the URL of a particular instance of the resource. Here, the client gives |
487 |
|
|
the server the URL and hopefully receives a current URC which may |
488 |
|
|
contain the URN. |
489 |
|
|
|
490 |
|
|
% 220-This is merlin (GATECH01) running KTH-whois++ ver.1.4 |
491 |
|
|
% 220 Enter search string or type 'help' for help. |
492 |
|
|
template=urn;URL=http://www.gatech.edu/oit/info/pccards.html |
493 |
|
|
% 201 Command okay |
494 |
|
|
# FULL 1 |
495 |
|
|
|
496 |
|
|
# URN GATECH01 |
497 |
|
|
URN:IANA:623:oit:ns:pccards |
498 |
|
|
Title: Supported PC Network Cards at Georgia Tech |
499 |
|
|
Author: Jimmy Lemkuhle |
500 |
|
|
URL:http://www.gatech.edu/oit/info/pccards.html |
501 |
|
|
Size: 256K |
502 |
|
|
Content-Type: text/html |
503 |
|
|
|
504 |
|
|
# END |
505 |
|
|
% 226 Transfer complete |
506 |
|
|
% 203 Bye! |
507 |
|
|
|
508 |
|
|
The URC that was returned describes one instance of a resource who's URN, |
509 |
|
|
title and author are now known, plus information on the size and format of |
510 |
|
|
the particular instance. |
511 |
|
|
|
512 |
|
|
|
513 |
|
|
|
514 |
|
|
URC lookup based on given meta-information |
515 |
|
|
++++++++++++++++++++++++++++++++++++++++++ |
516 |
|
|
|
517 |
|
|
In this example a client may know a resources Title and Author, but nothing |
518 |
|
|
else. The client can use these to attempt to find the given resource on the net. |
519 |
|
|
|
520 |
|
|
% 220-This is merlin (GATECH01) running KTH-whois++ ver.1.4 |
521 |
|
|
% 220 Enter search string or type 'help' for help. |
522 |
|
|
template=urn;title=Intro\ to\ FTP\ and\ Telnet;author=Arrowood |
523 |
|
|
% 201 Command okay |
524 |
|
|
# FULL 1 |
525 |
|
|
|
526 |
|
|
# URN GATECH02 |
527 |
|
|
URN:IANA:623:oit:cs:ftp-and-telnet |
528 |
|
|
Title: Intro to FTP and Telnet |
529 |
|
|
Author: Adam Arrowood |
530 |
|
|
URL:file://ftp.gatech.edu/pub/docs/ftp.telnet.ps |
531 |
|
|
Content-Type: text/postscript |
532 |
|
|
Size: 1MB |
533 |
|
|
URL:http://www.gatech.edu/oit/info/ftp.telnet.html |
534 |
|
|
Content-Type: text/html |
535 |
|
|
Size: 600K |
536 |
|
|
Cost: US$0.25 |
537 |
|
|
|
538 |
|
|
# END |
539 |
|
|
% 226 Transfer complete |
540 |
|
|
% 203 Bye! |
541 |
|
|
Connection closed by foreign host. |
542 |
|
|
|
543 |
|
|
The URC that was returned now contains information that the client can |
544 |
|
|
cache such as the URN and URLs. |
545 |
|
|
|
546 |
|
|
|
547 |
|
|
|
548 |
|
|
URC lookup via URN with only URLs returned |
549 |
|
|
++++++++++++++++++++++++++++++++++++++++++ |
550 |
|
|
|
551 |
|
|
In this example the client is only requesting URLs to be returned. This may be |
552 |
|
|
due to a limited client that can not deal with other types of meta-information |
553 |
|
|
or due to a need for a faster search. |
554 |
|
|
|
555 |
|
|
% 220-This is merlin (GATECH01) running KTH-whois++ ver.1.4 |
556 |
|
|
% 220 Enter search string or type 'help' for help. |
557 |
|
|
template=urn;URN=IANA:626:oit:cs:ftp-and-telnet;include=urn |
558 |
|
|
% 201 Command okay |
559 |
|
|
# FULL 1 |
560 |
|
|
|
561 |
|
|
# URN GATECH02 |
562 |
|
|
URN:IANA:623:oit:cs:ftp-and-telnet |
563 |
|
|
URL:file://ftp.gatech.edu/pub/docs/ftp.telnet.ps |
564 |
|
|
URL:http://www.gatech.edu/oit/info/ftp.telnet.html |
565 |
|
|
|
566 |
|
|
# END |
567 |
|
|
% 226 Transfer complete |
568 |
|
|
% 203 Bye! |
569 |
|
|
Connection closed by foreign host. |
570 |
|
|
|
571 |
|
|
This is an example of a relatively small and limited URC. It contains no |
572 |
|
|
particularly interesting meta-information, but it does provide a basic URN to |
573 |
|
|
URL resolution service. |
574 |
|
|
|
575 |
|
|
6. References |
576 |
|
|
============= |
577 |
|
|
|
578 |
|
|
[Mealling 94] |
579 |
|
|
Mealling, Michael, Specification of Uniform Resource |
580 |
|
|
Characteristics, April 5, 1994 |
581 |
|
|
<URL:ftp://cnri.reston.va.us/internet-drafts/draft-ietf-uri-urc-00.txt> |
582 |
|
|
[Deutsch 94] |
583 |
|
|
Deutsch P., Schoutlz R., Flatstrom P., and Weider C,Architecture of |
584 |
|
|
the WHOIS++ service, April 6, 1994. |
585 |
|
|
<URL:ftp://cnri.reston.va.us/internet-drafts/draft-ietf-wnils-whois-arch-00.txt> |
586 |
|
|
[Emtage 94] |
587 |
|
|
Emtage A., Deutsch P., Publishing Information on the Internet with |
588 |
|
|
Anonymous FTP, May 1994. |
589 |
|
|
<URL:ftp://cnri.reston.va.us/internet-drafts/draft-ietf-iiir-publishing-01.txt> |
590 |
|
|
[Sollins 94] |
591 |
|
|
Sollins K., Masinter L.,Requirements of Uniform Resource Names, |
592 |
|
|
March 26, 1994. |
593 |
|
|
<URL:ftp://cnri.reston.va.us/internet-drafts/draft-sollins-urn-00.txt> |
594 |
|
|
[Berners-Lee 94-1] |
595 |
|
|
Berners-Lee T.,Uniform Resource Locators (URL), March 21, 1994. |
596 |
|
|
<URL:ftp://cnri.reston.va.us/internet-drafts/draft-ietf-uri-url-03.txt> |
597 |
|
|
[Berners-Lee 93-2] |
598 |
|
|
Berners-Lee T.,Hypertext Transfer Protocol (HTTP), Nov 5, 1993. |
599 |
|
|
<URL:ftp://cnri.reston.va.us/internet-drafts/draft-ietf-iiir-http-00.txt> |
600 |
|
|
-- |
601 |
|
|
------------------------------------------------------------------------------ |
602 |
|
|
<HR><A HREF="http://www.gatech.edu/michael.html"> |
603 |
|
|
<ADDRESS>Michael Mealling</ADDRESS> |
604 |
|
|
<ADDRESS>michael.mealling@oit.gatech.edu</ADDRESS></A> |
605 |
|
|
|