Uniform Resource Modifier
In this paper, the author proposes a method for encoding information concerning
the content and/or format of a network resource in the context of the URI
method of naming and locating resources.
A Uniform Resource Modifier (URM) is a way of encoding what is called a
resource's metainformation [1-Weider 93]. This includes information such as
the authors name, the resources data format, and its expiration date.
This paper was needed to separate the function of content/format specification
of a resource from it's location and naming functions. The naming function is
taken care of by the Uniform Resource Name (URN) [3-Weider 93]. It's purpose
is to uniquely name a resource. The location function is handled by the
Uniform Resource Locator (URL) [Berners-Lee 1993]. It's purpose is to actually
gain access to the resource. Neither of these items gives the user any clues
as to the size, format, content, etc of the resource. These are vital pieces
of information that are contained outside of the resource itself.
The Uniform Resource Modifier (URM) is a method for encoding this
meta-information in a way that will work together with the URL/URN encoding
schemes. It is designed to be extensible and flexible since many methods
could be developed for representing meta-information.
3: The Uniform Resource Modifier (URM)
The URM is designed to provide for a non-persistent meta-information encoding
scheme. It is meant to be used in conjunction with items called
transponders [1-Weider 1993] and other network resources that need typing
information. URMs are meant to be used specifically in conjunction with URLs
as a locally cached entity that is used to give typing information to network
clients. URMs are NOT persistent and may change. They are meant to be human
readable as well as machine readable. This means that certain fields can have
specific internal syntax but that this internal syntax is not to be defined
here and is not required. This allows for machine readable data to co-exist
beside human readable data.
3.2 URM Sections Explanation
A URM (like URLs and URNs) have distinct sections to them: the wrapper, the
encoding format scheme, and the list of encoded items. The syntax is:
3.2.1 The wrapper
The wrapper consists of the 4 character header "URM:" and the 3 trailing colons.
These give separation from other Resource Identifiers and follows the convention
of URLs and URNs. This also allows all three identifiers to be encoded into an
easily manipulated template. This template is a subject for further
3.2.2 The Format_Scheme
The Format_Scheme is made of of three fields: the Format, language, and character set specifiers. Their format is:
Format is a single identifier that is made up of allowed meta-information
encoding schemes. Recognizing that other encoding schemes exist but that too
many encoding schemes renders a URM useless it is suggested that a very
limited number of encoding schemes be allowed and that those allowed be
registered with the IANA. This is for discussion among the IIIR working
groups [2-Weider] . This paper puts forth one as a good solution to most
The IAFA working group of the IETF has developed a very large list of field
names and allowed data elements that are used to describe the various
attributes of an item on an FTP site. This list is comprehensive enough to be
used as a URM encoding scheme. This paper suggests that the identifier
string 'IAFA' be used as a Format_Scheme.
Language specifies which language the resulting encoded information is in.
This is specified in the standard format using ISO 639 country and ISO 3316
language codes. The format is:
For example, British English would be represented as:
Character_set should be the ISO name for each allowed character set.
An example would be:
3.2.3 The list of encoded items
The list consists of one or more data items surrounded by quotation marks and
separated by double colons. This is the section where the actual data is
encoded. White space of any type is allowed here. If quotation marks are
needed within these items then they should be quoted with a '\' in the C style
of special character quoting. It should be noted that some transport
protocols put restrictions on white space and non-printable characters. These
should be taken into account when transporting URMs around the net.
An example follows:
URM:IAFA:en_US.iso88591::" Author: John Doe "::"
Title: \"My Book\"
(Note the Carriage Return at the beginning and end of some fields. This is
simply an illustration of the inclusion of non-printable characters.)
4. Syntax Specifics
Below is a BNF like syntax for a URM. Where spaces are allowed they are listed
in addition to other characters. Square brackets '[' and ']' are used to
indicate optional parts. Single letters and digits stand for themselves. All
words of more than one letter are either expanded further in the syntax or
Items Item [Items]
alpha any character defined in any iso recognized character set
except for a ':'
Weider, Chris. Resource Transponders, March 1993. Available as
Weider, Chris and Deutsch, Peter. A Vision of an Integrated Internet
Information Service, March, 1993. Available as
Weider, Chris. Uniform Resource Names, May, 1993. Available as
Berners-Lee, Tim. Uniform Resource Locators, March, 93. Available as
-- ------------------------------------------------------------------------------ Michael Mealling ! Hypermedia WWW, WAIS, and gopher will be Georgia Institute of Technology ! here soon via MIME. Your view of the Michael.Mealling@oit.gatech.edu ! internet is about to change completely!