This link has been bookmarked by 39 people . It was first bookmarked on 13 Dec 2006, by Arrix Z.
-
14 Jul 14
-
29 Apr 14
-
A Uniform Resource Identifier (URI) is a compact sequence of characters that identifies an abstract or physical resource. This specification defines the generic URI syntax and a process for resolving URI references that might be in relative form, along with guidelines and security considerations for the use of URIs on the Internet. The URI syntax defines a grammar that is a superset of all valid URIs, allowing an implementation to parse the common components of a URI reference without knowing the scheme-specific requirements of every possible identifier. This specification does not define a generative grammar for URIs; that task is performed by the individual specifications of each URI scheme.
-
Uniform Uniformity provides several benefits. It allows different types of resource identifiers to be used in the same context, even when the mechanisms used to access those resources may differ. It allows uniform semantic interpretation of common syntactic conventions across different types of resource identifiers. It allows introduction of new types of resource identifiers without interfering with the way that existing identifiers are used. It allows the identifiers to be reused in many different contexts, thus permitting new applications or protocols to leverage a pre- existing, large, and widely used set of resource identifiers.
-
Resource This specification does not limit the scope of what might be a resource; rather, the term "resource" is used in a general sense for whatever might be identified by a URI. Familiar examples include an electronic document, an image, a source of information with a consistent purpose (e.g., "today's weather report for Los Angeles"), a service (e.g., an HTTP-to-SMS gateway), and a collection of other resources. A resource is not necessarily accessible via the Internet; e.g., human beings, corporations, and bound books in a library can also be resources. Likewise, abstract concepts can be resources, such as the operators and operands of a mathematical equation, the types of a relationship (e.g., "parent" or "employee"), or numeric values (e.g., zero, one, and infinity).
-
Identifier An identifier embodies the information required to distinguish what is being identified from all other things within its scope of identification. Our use of the terms "identify" and "identifying" refer to this purpose of distinguishing one resource from all other resources, regardless of how that purpose is accomplished (e.g., by name, address, or context). These terms should not be mistaken as an assumption that an identifier defines or embodies the identity of what is referenced, though that may be the case for some identifiers. Nor should it be assumed that a system using URIs will access the resource identified: in many cases, URIs are used to denote resources without any intention that they be accessed. Likewise, the "one" resource identified might not be singular in nature (e.g., a resource might be a named set or a mapping that varies over time).
-
-
05 Apr 14
-
26 Apr 13
-
Remove Dot Segments
-
-
08 Feb 13
-
26 Sep 11
-
01 May 11
-
30 Jun 10
-
26 Jun 10
-
13 Jan 10
-
13 Jul 09
-
07 Jun 09
-
03 Apr 09
-
27 Feb 09
-
22 Aug 08
-
The term "Uniform Resource Locator" (URL) refers to the subset of URIs that, in addition to identifying a resource, provide a means of locating the resource by describing its primary access mechanism (e.g., its network "location").
-
A URI can be further classified as a locator, a name, or both.
-
The term "Uniform Resource Name" (URN) has been used historically
-
globally unique and persistent even when the resource ceases to exist or becomes unavailable
-
A common misunderstanding of URIs is that they are only used to refer to accessible resources. The URI itself only provides identification; access to the resource is neither guaranteed nor implied by the presence of a URI.
-
The URI syntax is organized hierarchically, with components listed in order of decreasing significance from left to right.
-
The generic syntax uses the slash ("/"), question mark ("?"), and number sign ("#") characters to delimit components that are significant to the generic parser's hierarchical interpretation of an identifier.
-
percent-encoding mechanism
-
A percent-encoded octet is encoded as a character triplet, consisting of the percent character "%" followed by the two hexadecimal digits representing that octet's numeric value.
-
reserved = gen-delims / sub-delims gen-delims = ":" / "/" / "?" / "#" / "[" / "]" / "@" sub-delims = "!" / "$" / "&" / "'" / "(" / ")" / "*" / "+" / "," / ";" / "="
-
A subset of the reserved characters (gen-delims) is used as delimiters of the generic URI components
-
If a reserved character is found in a URI component and no delimiting role is known for that character, then it must be interpreted as representing the data octet corresponding to that character's encoding in US-ASCII.
-
"//" authority path-abempty
-
When authority is not present, the path cannot begin with two slash characters ("//").
-
foo://example.com:8042/over/there?name=ferret#nose
-
foo://example.com:8042/over/there?name=ferret#nose \_/ \______________/\_________/ \_________/ \__/ | | | | | scheme authority path query fragment | _____________________|__ / \ / \ urn:example:animal:ferret:nose
-
urn:example:animal:ferret:nose
-
Although schemes are case- insensitive, the canonical form is lowercase and documents that specify schemes must do so with lowercase letters.
-
scheme = ALPHA *( ALPHA / DIGIT / "+" / "-" / "." )
-
a hierarchical element for a naming authority
-
The authority component is preceded by a double slash ("//")
-
Some schemes do not allow the userinfo and/or port subcomponents.
-
scheme-specific information about how to gain authorization to access the resource.
-
Use of the format "user:password" in the userinfo field is deprecated.
-
-
23 Apr 08
-
15 Apr 08
-
10 Apr 08
-
15 Nov 07
-
07 Sep 07
-
13 May 07
-
16 Jan 07
Robert KaymanA Uniform Resource Identifier (URI) is a compact sequence of characters that identifies an abstract or physical resource. This specification defines the generic URI syntax and a process for resolving URI references that might be in relative f
-
29 Dec 06
-
13 Dec 06
-
Normalization and Comparison
-
However, as query components are often used to carry identifying information in the form of "key=value" pairs and one frequently used value is a reference to another URI, it is sometimes better for usability to avoid percent- encoding those characters.
-
The characters slash ("/") and question mark ("?") may represent data within the query component.
-
The fragment component is not subject to any scheme-based normalization
-
URI producers and normalizers should use uppercase hexadecimal digits for all percent- encodings
-
The characters slash ("/") and question mark ("?") are allowed to represent data within the fragment identifier.
-
For all URIs, the hexadecimal digits within a percent-encoding triplet (e.g., "%3a" versus "%3A") are case-insensitive and therefore should be normalized to use uppercase letters for the digits A-F.
-
the scheme and host are case-insensitive and therefore should be normalized to lowercase
-
Normalization should not remove delimiters when their associated component is empty unless licensed to do so by the scheme
-
should be removed
-
a URI that uses the generic syntax for authority with an empty path should be normalized to a path of "/"
-
port is empty or the default for the scheme
-
decoding any percent-encoded octet that corresponds to an unreserved character
-
-
06 Dec 06
-
13 Nov 06
Would you like to comment?
Join Diigo for a free account, or sign in if you are already a member.