`T. Berners-Lee
`Network Working Group T. Berners-Lee
`CERN
`Request for Comments: 1630 CERN
`Request for Comments: 1630
`Category: Informational June 1994
`Category: Informational
`June 1994
`
`Universal Resource Identifiers in WWW
` Universal Resource Identifiers in WWW
`
`A Unifying Syntax for the Expression of
` A Unifying Syntax for the Expression of
` Names and Addresses of Objects on the Network
`Names and Addresses of Objects on the Network
`as used in the World-Wide Web
` as used in the World-Wide Web
`
`Status of this Memo
`Status of this Memo
`
`This memo provides information for the Internet community. This memo
` This memo provides information for the Internet community. This memo
` does not specify an Internet standard of any kind. Distribution of
`does not specify an Internet standard of any kind. Distribution of
`this memo is unlimited.
` this memo is unlimited.
`
`IESG Note:
`IESG Note:
`
` Note that the work contained in this memo does not describe an
`Note that the work contained in this memo does not describe an
` Internet standard. An Internet standard for general Resource
`Internet standard. An Internet standard for general Resource
`Identifiers is under development within the IETF.
` Identifiers is under development within the IETF.
`
`Introduction
`Introduction
`
` This document defines the syntax used by the World-Wide Web
`This document defines the syntax used by the World-Wide Web
` initiative to encode the names and addresses of objects on the
`initiative to encode the names and addresses of objects on the
` Internet. The web is considered to include objects accessed using an
`Internet. The web is considered to include objects accessed using an
` extendable number of protocols, existing, invented for the web
`extendable number of protocols, existing, invented for the web
` itself, or to be invented in the future. Access instructions for an
`itself, or to be invented in the future. Access instructions for an
` individual object under a given protocol are encoded into forms of
`individual object under a given protocol are encoded into forms of
` address string. Other protocols allow the use of object names of
`address string. Other protocols allow the use of object names of
` various forms. In order to abstract the idea of a generic object,
`various forms. In order to abstract the idea of a generic object,
` the web needs the concepts of the universal set of objects, and of
`the web needs the concepts of the universal set of objects, and of
` the universal set of names or addresses of objects.
`the universal set of names or addresses of objects.
`
`A Universal Resource Identifier (URI) is a member of this universal
` A Universal Resource Identifier (URI) is a member of this universal
` set of names in registered name spaces and addresses referring to
`set of names in registered name spaces and addresses referring to
` registered protocols or name spaces. A Uniform Resource Locator
`registered protocols or name spaces. A Uniform Resource Locator
`(URL), defined elsewhere, is a form of URI which expresses an address
` (URL), defined elsewhere, is a form of URI which expresses an address
`which maps onto an access algorithm using network protocols. Existing
` which maps onto an access algorithm using network protocols. Existing
`URI schemes which correspond to the (still mutating) concept of IETF
` URI schemes which correspond to the (still mutating) concept of IETF
` URLs are listed here. The Uniform Resource Name (URN) debate attempts
`URLs are listed here. The Uniform Resource Name (URN) debate attempts
` to define a name space (and presumably resolution protocols) for
`to define a name space (and presumably resolution protocols) for
` persistent object names. This area is not addressed by this document,
`persistent object names. This area is not addressed by this document,
`which is written in order to document existing practice and provide a
` which is written in order to document existing practice and provide a
`reference point for URL and URN discussions.
` reference point for URL and URN discussions.
`
`[Page 1]
`Berners-Lee [Page 1]
`Berners-Lee
`
`NFLE Ex. 1011 - Page 1
`
`NFLE 1011 - Page 1
`
`
`
`
`URIs in WWW
`RFC 1630
`June 1994
`RFC 1630 URIs in WWW June 1994
`
` The world-wide web protocols are discussed on the mailing list www-
`The world-wide web protocols are discussed on the mailing list www-
`talk-request@info.cern.ch and the newsgroup comp.infosystems.www is
` talk-request@info.cern.ch and the newsgroup comp.infosystems.www is
`preferable for beginner's questions. The mailing list uri-
` preferable for beginner’s questions. The mailing list uri-
`request@bunyip.com has discussion related particularly to the URI
` request@bunyip.com has discussion related particularly to the URI
`issue. The author may be contacted as timbl@info.cern.ch.
` issue. The author may be contacted as timbl@info.cern.ch.
`
` This document is available in hypertext form at:
`This document is available in hypertext form at:
`
` http://info.cern.ch/hypertext/WWW/Addressing/URL/URI_Overview.html
`http://info.cern.ch/hypertext/WWW/Addressing/URL/URIOverview.html
`
`The Need For a Universal Syntax
`The Need For a Universal Syntax
`
` This section describes the concept of the URI and does not form part
`This section describes the concept of the URI and does not form part
` of the specification.
`of the specification.
`
` Many protocols and systems for document search and retrieval are
`Many protocols and systems for document search and retrieval are
`currently in use, and many more protocols or refinements of existing
` currently in use, and many more protocols or refinements of existing
`protocols are to be expected in a field whose expansion is explosive.
` protocols are to be expected in a field whose expansion is explosive.
`
` These systems are aiming to achieve global search and readership of
`These systems are aiming to achieve global search and readership of
` documents across differing computing platforms, and despite a
`documents across differing computing platforms, and despite a
` plethora of protocols and data formats. As protocols evolve,
`plethora of protocols and data formats. As protocols evolve,
` gateways can allow global access to remain possible. As data formats
`gateways can allow global access to remain possible. As data formats
`evolve, format conversion programs can preserve global access. There
` evolve, format conversion programs can preserve global access. There
`is one area, however, in which it is impractical to make conversions,
` is one area, however, in which it is impractical to make conversions,
` and that is in the names and addresses used to identify objects.
`and that is in the names and addresses used to identify objects.
` This is because names and addresses of objects are passed on in so
`This is because names and addresses of objects are passed on in so
`many ways, from the backs of envelopes to hypertext objects, and may
` many ways, from the backs of envelopes to hypertext objects, and may
` have a long life.
`have a long life.
`
` A common feature of almost all the data models of past and proposed
`A common feature of almost all the data models of past and proposed
` systems is something which can be mapped onto a concept of "object"
`systems is something which can be mapped onto a concept of "object"
` and some kind of name, address, or identifier for that object. One
`and some kind of name, address, or identifier for that object. One
` can therefore define a set of name spaces in which these objects can
`can therefore define a set of name spaces in which these objects can
` be said to exist.
`be said to exist.
`
` Practical systems need to access and mix objects which are part of
`Practical systems need to access and mix objects which are part of
` different existing and proposed systems. Therefore, the concept of
`different existing and proposed systems. Therefore, the concept of
` the universal set of all objects, and hence the universal set of
`the universal set of all objects, and hence the universal set of
` names and addresses, in all name spaces, becomes important. This
`names and addresses, in all name spaces, becomes important. This
` allows names in different spaces to be treated in a common way, even
`allows names in different spaces to be treated in a common way, even
`though names in different spaces have differing characteristics, as
` though names in different spaces have differing characteristics, as
`do the objects to which they refer.
` do the objects to which they refer.
`
`[Page 2]
`Berners-Lee [Page 2]
`Berners-Lee
`
`NFLE Ex. 1011 - Page 2
`
`NFLE 1011 - Page 2
`
`
`
`
`URIs in WWW
`RFC 1630
`June 1994
`RFC 1630 URIs in WWW June 1994
`
` URIs
`URIs
`
` This document defines a way to encapsulate a name in any
`This document defines a way to encapsulate a name in any
` registered name space, and label it with the the name space,
`registered name space, and label it with the the name space,
` producing a member of the universal set. Such an encoded and
`producing a member of the universal set. Such an encoded and
` labelled member of this set is known as a Universal Resource
`labelled member of this set is known as a Universal Resource
`Identifier, or URI.
` Identifier, or URI.
`
` The universal syntax allows access of objects available using
`The universal syntax allows access of objects available using
` existing protocols, and may be extended with technology.
`existing protocols, and may be extended with technology.
`
` The specification of the URI syntax does not imply anything about
`The specification of the URI syntax does not imply anything about
` the properties of names and addresses in the various name spaces
`the properties of names and addresses in the various name spaces
` which are mapped onto the set of URI strings. The properties
`which are mapped onto the set of URI strings. The properties
`follow from the specifications of the protocols and the associated
` follow from the specifications of the protocols and the associated
` usage conventions for each scheme.
`usage conventions for each scheme.
`
` URLs
`URLs
`
` For existing Internet access protocols, it is necessary in most
`For existing Internet access protocols, it is necessary in most
` cases to define the encoding of the access algorithm into
`cases to define the encoding of the access algorithm into
`something concise enough to be termed address. URIs which refer
` something concise enough to be termed address. URIs which refer
`to objects accessed with existing protocols are known as "Uniform
` to objects accessed with existing protocols are known as "Uniform
` Resource Locators" (URLs) and are listed here as used in WWW, but
`Resource Locators" (URLs) and are listed here as used in WWW, but
` to be formally defined in a separate document.
`to be formally defined in a separate document.
`
` URNs
`URNs
`
` There is currently a drive to define a space of more persistent
`There is currently a drive to define a space of more persistent
`names than any URLs. These "Uniform Resource Names" are the
` names than any URLs. These "Uniform Resource Names" are the
` subject of an IETF working group’s discussions. (See Sollins and
`subject of an IETF working group's discussions. (See Sollins and
`Masinter, Functional Specifications for URNs, circulated
` Masinter, Functional Specifications for URNs, circulated
`informally.)
` informally.)
`
`The URI syntax and URL forms have been in widespread use by
` The URI syntax and URL forms have been in widespread use by
`World-Wide Web software since 1990.
` World-Wide Web software since 1990.
`
`Berners-Lee [Page 3]
`Berners-Lee
`[Page 3]
`
`NFLE Ex. 1011 - Page 3
`
`NFLE 1011 - Page 3
`
`
`
`
`URIs in WWW
`RFC 1630
`June 1994
`RFC 1630 URIs in WWW June 1994
`
`Design Criteria and Choices
`Design Criteria and Choices
`
`This section is not part of the specification: it is simply an
` This section is not part of the specification: it is simply an
`explanation of the way in which the specification was derived.
` explanation of the way in which the specification was derived.
`
`Design criteria
` Design criteria
`
`The syntax was designed to be:
` The syntax was designed to be:
`
`New naming schemes may be added later.
` Extensible New naming schemes may be added later.
`Extensible
`
`It is possible to encode any naming
` Complete It is possible to encode any naming
`Complete
` scheme.
`scheme.
`
`Printable
`It is possible to express any URI using
` Printable It is possible to express any URI using
` 7-bit ASCII characters so that URIs may,
`7-bit ASCII characters so that URIs may,
`if necessary, be passed using pen and ink.
` if necessary, be passed using pen and ink.
`
` Choices for a universal syntax
`Choices for a universal syntax
`
` For the syntax itself there is little choice except for the order
`For the syntax itself there is little choice except for the order
` and punctuation of the elements, and the acceptable characters and
`and punctuation of the elements, and the acceptable characters and
` escaping rules.
`escaping rules.
`
`The extensibility requirement is met by allowing an arbitrary (but
` The extensibility requirement is met by allowing an arbitrary (but
` registered) string to be used as a prefix. A prefix is chosen as
`registered) string to be used as a prefix. A prefix is chosen as
`left to right parsing is more common than right to left. The
` left to right parsing is more common than right to left. The
` choice of a colon as separator of the prefix from the rest of the
`choice of a colon as separator of the prefix from the rest of the
` URI was arbitrary.
`URI was arbitrary.
`
` The decoding of the rest of the string is defined as a function of
`The decoding of the rest of the string is defined as a function of
`the prefix. New prefixed are introduced for new schemes as
` the prefix. New prefixed are introduced for new schemes as
`necessary, in agreement with the registration authority. The
` necessary, in agreement with the registration authority. The
`registration of a new scheme clearly requires the definition of
` registration of a new scheme clearly requires the definition of
` the decoding of the URI into a given name space, and a definition
`the decoding of the URI into a given name space, and a definition
` of the properties and, where applicable, resolution protocols, for
`of the properties and, where applicable, resolution protocols, for
` the name space.
`the name space.
`
` The completeness requirement is easily met by allowing
`The completeness requirement is easily met by allowing
`particularly strange or plain binary names to be encoded in base
` particularly strange or plain binary names to be encoded in base
` 16 or 64 using the acceptable characters.
`16 or 64 using the acceptable characters.
`
`The printability requirement could have been met by requiring all
` The printability requirement could have been met by requiring all
` schemes to encode characters not part of a basic set. This led to
`schemes to encode characters not part of a basic set. This led to
` many discussions of what the basic set should be. A difficult
`many discussions of what the basic set should be. A difficult
`case, for example, is when an ISO latin 1 string appears in a URL,
` case, for example, is when an ISO latin 1 string appears in a URL,
`and within an application with ISO Latin-1 capability, it can be
` and within an application with ISO Latin-1 capability, it can be
`handled intact. However, for transport in general, the non-ASCII
` handled intact. However, for transport in general, the non-ASCII
`
`[Page 4]
`Berners-Lee [Page 4]
`Berners-Lee
`
`NFLE Ex. 1011 - Page 4
`
`NFLE 1011 - Page 4
`
`
`
`
`URIs in WWW
`RFC 1630
`June 1994
`RFC 1630 URIs in WWW June 1994
`
` characters need to be escaped.
`characters need to be escaped.
`
` The solution to this was to specify a safe set of characters, and
`The solution to this was to specify a safe set of characters, and
` a general escaping scheme which may be used for encoding "unsafe"
`a general escaping scheme which may be used for encoding "unsafe"
` characters. This "safe" set is suitable, for example, for use in
`characters. This "safe" set is suitable, for example, for use in
`electronic mail. This is the canonical form of a URI.
` electronic mail. This is the canonical form of a URI.
`
` The choice of escape character for introducing representations of
`The choice of escape character for introducing representations of
` non-allowed characters also tends to be a matter of taste. An
`non-allowed characters also tends to be a matter of taste. An
` ANSI standard exists in the C language, using the back-slash
`ANSI standard exists in the C language, using the back-slash
` character "\". The use of this character on unix command lines,
`character "\". The use of this character on unix command lines,
` however, can be a problem as it is interpreted by many shell
`however, can be a problem as it is interpreted by many shell
` programs, and would have itself to be escaped. It is also a
`programs, and would have itself to be escaped. It is also a
` character which is not available on certain keyboards. The equals
`character which is not available on certain keyboards. The equals
`sign is commonly used in the encoding of names having
` sign is commonly used in the encoding of names having
` attribute=value pairs. The percent sign was eventually chosen as
`attribute=value pairs. The percent sign was eventually chosen as
` a suitable escape character.
`a suitable escape character.
`
` There is a conflict between the need to be able to represent many
`There is a conflict between the need to be able to represent many
` characters including spaces within a URI directly, and the need to
`characters including spaces within a URI directly, and the need to
` be able to use a URI in environments which have limited character
`be able to use a URI in environments which have limited character
` sets or in which certain characters are prone to corruption. This
`sets or in which certain characters are prone to corruption. This
` conflict has been resolved by use of an hexadecimal escaping
`conflict has been resolved by use of an hexadecimal escaping
` method which may be applied to any characters forbidden in a given
`method which may be applied to any characters forbidden in a given
` context. When URLs are moved between contexts, the set of
`context. When URLs are moved between contexts, the set of
` characters escaped may be enlarged or reduced unambiguously.
`characters escaped may be enlarged or reduced unambiguously.
`
` The use of white space characters is risky in URIs to be printed
`The use of white space characters is risky in URIs to be printed
` or sent by electronic mail, and the use of multiple white space
`or sent by electronic mail, and the use of multiple white space
` characters is very risky. This is because of the frequent
`characters is very risky. This is because of the frequent
` introduction of extraneous white space when lines are wrapped by
`introduction of extraneous white space when lines are wrapped by
`systems such as mail, or sheer necessity of narrow column width,
` systems such as mail, or sheer necessity of narrow column width,
`and because of the inter-conversion of various forms of white
` and because of the inter-conversion of various forms of white
` space which occurs during character code conversion and the
`space which occurs during character code conversion and the
`transfer of text between applications. This is why the canonical
` transfer of text between applications. This is why the canonical
`form for URIs has all white spaces encoded.
` form for URIs has all white spaces encoded.
`
`Reommendations
`Reommendations
`
` This section describes the syntax for URIs as used in the WorldWide
`This section describes the syntax for URIs as used in the WorldWide
` Web initiative. The generic syntax provides a framework for new
`Web initiative. The generic syntax provides a framework for new
` schemes for names to be resolved using as yet undefined protocols.
`schemes for names to be resolved using as yet undefined protocols.
`
`URI syntax
`URI syntax
`
` A complete URI consists of a naming scheme specifier followed by a
`A complete URI consists of a naming scheme specifier followed by a
`string whose format is a function of the naming scheme. For locators
` string whose format is a function of the naming scheme. For locators
`of information on the Internet, a common syntax is used for the IP
` of information on the Internet, a common syntax is used for the IP
`
`Berners-Lee [Page 5]
`Berners-Lee
`[Page 5]
`
`NFLE Ex. 1011 - Page 5
`
`NFLE 1011 - Page 5
`
`
`
`
`URIs in WWW
`RFC 1630
`June 1994
`RFC 1630 URIs in WWW June 1994
`
` address part. A BNF description of the URL syntax is given in an a
`address part. A BNF description of the URL syntax is given in an a
`later section. The components are as follows. Fragment identifiers
` later section. The components are as follows. Fragment identifiers
`and relative URIs are not involved in the basic URL definition.
` and relative URIs are not involved in the basic URL definition.
`
`SCHEME
` SCHEME
`
`Within the URI of a object, the first element is the name of the
` Within the URI of a object, the first element is the name of the
` scheme, separated from the rest of the object by a colon.
`scheme, separated from the rest of the object by a colon.
`
`PATH
` PATH
`
` The rest of the URI follows the colon in a format depending on the
`The rest of the URI follows the colon in a format depending on the
` scheme. The path is interpreted in a manner dependent on the
`scheme. The path is interpreted in a manner dependent on the
` protocol being used. However, when it contains slashes, these
`protocol being used. However, when it contains slashes, these
`must imply a hierarchical structure.
` must imply a hierarchical structure.
`
`Reserved characters
`Reserved characters
`
` The path in the URI has a significance defined by the particular
`The path in the URI has a significance defined by the particular
` scheme. Typically, it is used to encode a name in a given name
`scheme. Typically, it is used to encode a name in a given name
` space, or an algorithm for accessing an object. In either case, the
`space, or an algorithm for accessing an object. In either case, the
` encoding may use those characters allowed by the BNF syntax, or
`encoding may use those characters allowed by the BNF syntax, or
` hexadecimal encoding of other characters.
`hexadecimal encoding of other characters.
`
` Some of the reserved characters have special uses as defined here.
`Some of the reserved characters have special uses as defined here.
`
`THE PERCENT SIGN
` THE PERCENT SIGN
`
` The percent sign ("%", ASCII 25 hex) is used as the escape
`The percent sign ("%", ASCII 25 hex) is used as the escape
`character in the encoding scheme and is never allowed for anything
` character in the encoding scheme and is never allowed for anything
` else.
`else.
`
`HIERARCHICAL FORMS
` HIERARCHICAL FORMS
`
`The slash ("/", ASCII 2F hex) character is reserved for the
` The slash ("/", ASCII 2F hex) character is reserved for the
`delimiting of substrings whose relationship is hierarchical. This
` delimiting of substrings whose relationship is hierarchical. This
`enables partial forms of the URI. Substrings consisting of single
` enables partial forms of the URI. Substrings consisting of single
`or double dots ("." or "..") are similarly reserved.
` or double dots ("." or "..") are similarly reserved.
`
`The significance of the slash between two segments is that the
` The significance of the slash between two segments is that the
` segment of the path to the left is more significant than the
`segment of the path to the left is more significant than the
` segment of the path to the right. ("Significance" in this case
`segment of the path to the right. ("Significance" in this case
` refers solely to closeness to the root of the hierarchical
`refers solely to closeness to the root of the hierarchical
` structure and makes no value judgement!)
`structure and makes no value judgement!)
`
`Berners-Lee [Page 6]
`Berners-Lee
`[Page 6]
`
`NFLE Ex. 1011 - Page 6
`
`NFLE 1011 - Page 6
`
`
`
`
`URIs in WWW
`RFC 1630
`June 1994
`RFC 1630 URIs in WWW June 1994
`
` Note
`Note
`
`The similarity to unix and other disk operating system filename
` The similarity to unix and other disk operating system filename
` conventions should be taken as purely coincidental, and should
`conventions should be taken as purely coincidental, and should
` not be taken to indicate that URIs should be interpreted as
`not be taken to indicate that URIs should be interpreted as
`file names.
` file names.
`
`HASH FOR FRAGMENT IDENTIFIERS
` HASH FOR FRAGMENT IDENTIFIERS
`
`The hash ("4", ASCII 23 hex) character is reserved as a delimiter
` The hash ("#", ASCII 23 hex) character is reserved as a delimiter
` to separate the URI of an object from a fragment identifier .
`to separate the URI of an object from a fragment identifier .
`
`QUERY STRINGS
` QUERY STRINGS
`
`The question mark ("?", ASCII 3F hex) is used to delimit the
` The question mark ("?", ASCII 3F hex) is used to delimit the
` boundary between the URI of a queryable object, and a set of words
`boundary between the URI of a queryable object, and a set of words
` used to express a query on that object. When this form is used,
`used to express a query on that object. When this form is used,
` the combined URI stands for the object which results from the
`the combined URI stands for the object which results from the
` query being applied to the original object.
`query being applied to the original object.
`
` Within the query string, the plus sign is reserved as shorthand
`Within the query string, the plus sign is reserved as shorthand
` notation for a space. Therefore, real plus signs must be encoded.
`notation for a space. Therefore, real plus signs must be encoded.
` This method was used to make query URIs easier to pass in systems
`This method was used to make query URIs easier to pass in systems
`which did not allow spaces.
` which did not allow spaces.
`
`The query string represents some operation applied to the object,
` The query string represents some operation applied to the object,
`but this specification gives no common syntax or semantics for it.
` but this specification gives no common syntax or semantics for it.
` In practice the syntax and sematics may depend on the scheme and
`In practice the syntax and sematics may depend on the scheme and
` may even on the base URI.
`may even on the base URI.
`
` OTHER RESERVED CHARACTERS
`OTHER RESERVED CHARACTERS
`
`The astersik ("*", ASCII 2A hex) and exclamation mark ("!" , ASCII
` The astersik ("*", ASCII 2A hex) and exclamation mark ("!" , ASCII
`21 hex) are reserved for use as having special signifiance within
` 21 hex) are reserved for use as having special signifiance within
` specific schemes.
`specific schemes.
`
`Unsafe characters
`Unsafe characters
`
` In canonical form, certain characters such as spaces, control
`In canonical form, certain characters such as spaces, control
`characters, some characters whose ASCII code is used differently in
` characters, some characters whose ASCII code is used differently in
` different national character variant 7 bit sets, and all 8bit
`different national character variant 7 bit sets, and all 8bit
` characters beyond DEL (7F hex) of the ISO Latin-1 set, shall not be
`characters beyond DEL (7F hex) of the ISO Latin-1 set, shall not be
` used unencoded. This is a recommendation for trouble-free
`used unencoded. This is a recommendation for trouble-free
` interchange, and as indicated below, the encoded set may be extended
`interchange, and as indicated below, the encoded set may be extended
`or reduced.
` or reduced.
`
`Berners-Lee [Page 7]
`Berners-Lee
`[Page 7]
`
`NFLE Ex. 1011 - Page 7
`
`NFLE 1011 - Page 7
`
`
`
`
`URIs in WWW
`RFC 1630
`June 1994
`RFC 1630 URIs in WWW June 1994
`
`Encoding reserved characters
`Encoding reserved characters
`
` When a system uses a local addressing scheme, it is useful to provide
`When a system uses a local addressing scheme, it is useful to provide
`a mapping from local addresses into URIs so that references to
` a mapping from local addresses into URIs so that references to
` objects within the addressing scheme may be referred to globally, and
`objects within the addressing scheme may be referred to globally, and
` possibly accessed through gateway servers.
`possibly accessed through gateway servers.
`
`For a new naming scheme, any mapping scheme may be defined provided
` For a new naming scheme, any mapping scheme may be defined provided
` it is unambiguous, reversible, and provides valid URIs. It is
`it is unambiguous, reversible, and provides valid URIs. It is
` recommended that where hierarchical aspects to the local naming
`recommended that where hierarchical aspects to the local naming
` scheme exist, they be mapped onto the hierarchical URL path syntax in
`scheme exist, they be mapped onto the hierarchical URL path syntax in
` order to allow the partial form to be used.
`order to allow the partial form to be used.
`
` It is also recommended that the conventional scheme below be used in
`It is also recommended that the conventional scheme below be used in
` all cases except for any scheme which encodes binary data as opposed
`all cases except for any scheme which encodes binary data as opposed
` to text, in which case a more compact encoding such as pure
`to text, in which case a more compact encoding such as pure
` hexadecimal or base 64 might be more appropriate. For example, the
`hexadecimal or base 64 might be more appropriate. For example, the
`conventional URI encoding method is used for mapping WAIS, FTP,
` conventional URI encoding method is used for mapping WAIS, FTP,
` Prospero and Gopher addresses in the URI specification.
`Prospero and Gopher addresses in the URI specification.
`
` CONVENTIONAL URI ENCODING SCHEME
`CONVENTIONAL URI ENCODING SCHEME
`
` Where the local naming scheme uses ASCII characters which are not
`Where the local naming scheme uses ASCII characters which are not
` allowed in the URI, these may be represented in the URL by a
`allowed in the URI, these may be represented in the URL by a
` percent sign "%" immediately followed by two hexadecimal digits
`percent sign "%" immediately followed by two hexadecimal digits
`(0-9, A-F) giving the ISO Latin 1 code for that character.
` (0-9, A-F) giving the ISO Latin 1 code for that character.
` Character codes other than those allowed by the syntax shall not
`Character codes other than those allowed by the syntax shall not
`be used unencoded in a URI.
` be used unencoded in a URI.
`
`REDUCED OR INCREASED SAFE CHARACTER SETS
` REDUCED OR INCREASED SAFE CHARACTER SETS
`
` The same encoding method may be used for encoding characters whose
`The same encoding method may be used for encoding characters whose
` use, although te