URI URL URN
2011-11-17 21:57
204 查看
Uniform Resource Identifier (URI) is a string of characters used
to identify a name or a resource on
the Internet. Such identification enables interaction with representations of the resource over a network (typically
the World Wide Web) using specific protocols.
Schemes specifying a concrete syntax and associated protocols define each URI.
One can classify URIs as locators (URLs), or as names (URNs), or as both. A Uniform
Resource Name (URN) functions like a person's name, while a Uniform Resource Locator (URL)
resembles that person's street address. In other words: the URN defines an item's identity, while the URL provides a method for finding it.
URI的语法格式
The URI syntax consists of a URI
scheme name (such as "
"
"
or "
followed by a colon character, and then by a scheme-specific part. The specifications that
govern the schemes determine the syntax and semantics of the scheme-specific part. However, URI syntax does require
all schemes to adhere to a general syntax that (among other things) reserves certain characters for special purposes (without always identifying those purposes). The URI syntax also enforces restrictions on the scheme-specific part in order to (for example)
provide for a degree of consistency when the part has a hierarchical structure.
RFC 2141 (dated May 1997 and still classified as requests discussion and
suggestions for improvements) describe in BNF the syntax of URNs as:
where <NID> is the Namespace Identifier, and <NSS> is the Namespace Specific String. Phrases enclosed in quotes are REQUIRED. The leading "urn:" sequence is case-insensitive. The Namespace ID determines the syntactic interpretation
of the Namespace Specific String.
URL 语法
Syntax
Main article: URI scheme#Generic syntax
Every URL consists of some of the following: the scheme name (commonly called protocol), followed by a colon,
two slashes,[note
1] then, depending on scheme, a domain name[note
2] (alternatively, IP address), a port
number, the path of the resource to be fetched or the program to be run, then, for programs such as Common
Gateway Interface (CGI) scripts, a query
string,[7][8] and
an optional fragment identifier.[9]
The syntax is
scheme://domain:port/path?query_string#fragment_id
The scheme name defines the namespace, purpose, and the syntax of
the remaining part of the URL. Software will try to process a URL according to its scheme and context. For example, a web
browser will usually dereference the URL http://example.org:80 by
performing an HTTP request to the host at example.org,
using port number 80. The URL mailto:bob@example.com may
start an e-mail composer with the address bob@example.comin
the To field.
Other examples of scheme names include https:, gopher:, wais:, ftp:.
URLs with https as a scheme (such as https://example.com/) require that requests and responses will be made over a secure connection to the website. Some schemes that require authentication allow a username,
and perhaps a password too, to be embedded in the URL, for example ftp://asmith@ftp.example.org. Passwords embedded in this way are not conducive to secure working, but the full possible syntax is
scheme://username:password@domain:port/path?query_string#fragment_id
The domain name or IP address gives the destination location for the URL. The domain google.com, or its IP address 72.14.207.99, is the address of Google's website.
The domain name portion of a URL is not case sensitive since DNS ignores
case: http://en.example.org/ and HTTP://EN.EXAMPLE.ORG/ both open the same page.
The port number is optional; if omitted, the default for the scheme is used. For example, http://vnc.example.com:5800 connects to port 5800 of vnc.example.com, which may be
appropriate for a VNC remote control session. If the port number is omitted for an http: URL, the browser
will connect on port 80, the default HTTP port. The default port for an https: request is 443.
The path is used to specify and perhaps find the resource requested. It is case-sensitive, though it may be treated as case-insensitive by some servers, especially those based on Microsoft
Windows. If the server is case sensitive and http://en.example.org/wiki/URL is correct,http://en.example.org/WIKI/URL/ or http://en.example.org/wiki/url/ will
display an HTTP 404 error page, unless these URLs point to valid resources themselves.
The query string contains data to be passed to software
running on the server. It may contain name/value pairs separated by ampersands, for example ?first_name=John&last_name=Doe.
The fragment identifier, if present, specifies a part or a
position within the overall resource or document. When used with HTTP, it usually specifies a section or location within the page, and the browser may scroll to display that part of the page.
to identify a name or a resource on
the Internet. Such identification enables interaction with representations of the resource over a network (typically
the World Wide Web) using specific protocols.
Schemes specifying a concrete syntax and associated protocols define each URI.
Relationship to URL and URN
One can classify URIs as locators (URLs), or as names (URNs), or as both. A UniformResource Name (URN) functions like a person's name, while a Uniform Resource Locator (URL)
resembles that person's street address. In other words: the URN defines an item's identity, while the URL provides a method for finding it.
URI的语法格式
The URI syntax consists of a URI
scheme name (such as "
http",
"
ftp",
"
mailto"
or "
file")
followed by a colon character, and then by a scheme-specific part. The specifications that
govern the schemes determine the syntax and semantics of the scheme-specific part. However, URI syntax does require
all schemes to adhere to a general syntax that (among other things) reserves certain characters for special purposes (without always identifying those purposes). The URI syntax also enforces restrictions on the scheme-specific part in order to (for example)
provide for a degree of consistency when the part has a hierarchical structure.
URN Syntax 语法
RFC 2141 (dated May 1997 and still classified as requests discussion andsuggestions for improvements) describe in BNF the syntax of URNs as:
<URN> ::= "urn:" <NID> ":" <NSS>
where <NID> is the Namespace Identifier, and <NSS> is the Namespace Specific String. Phrases enclosed in quotes are REQUIRED. The leading "urn:" sequence is case-insensitive. The Namespace ID determines the syntactic interpretation
of the Namespace Specific String.
URL 语法
Syntax
Main article: URI scheme#Generic syntax
Every URL consists of some of the following: the scheme name (commonly called protocol), followed by a colon,
two slashes,[note
1] then, depending on scheme, a domain name[note
2] (alternatively, IP address), a port
number, the path of the resource to be fetched or the program to be run, then, for programs such as Common
Gateway Interface (CGI) scripts, a query
string,[7][8] and
an optional fragment identifier.[9]
The syntax is
scheme://domain:port/path?query_string#fragment_id
The scheme name defines the namespace, purpose, and the syntax of
the remaining part of the URL. Software will try to process a URL according to its scheme and context. For example, a web
browser will usually dereference the URL http://example.org:80 by
performing an HTTP request to the host at example.org,
using port number 80. The URL mailto:bob@example.com may
start an e-mail composer with the address bob@example.comin
the To field.
Other examples of scheme names include https:, gopher:, wais:, ftp:.
URLs with https as a scheme (such as https://example.com/) require that requests and responses will be made over a secure connection to the website. Some schemes that require authentication allow a username,
and perhaps a password too, to be embedded in the URL, for example ftp://asmith@ftp.example.org. Passwords embedded in this way are not conducive to secure working, but the full possible syntax is
scheme://username:password@domain:port/path?query_string#fragment_id
The domain name or IP address gives the destination location for the URL. The domain google.com, or its IP address 72.14.207.99, is the address of Google's website.
The domain name portion of a URL is not case sensitive since DNS ignores
case: http://en.example.org/ and HTTP://EN.EXAMPLE.ORG/ both open the same page.
The port number is optional; if omitted, the default for the scheme is used. For example, http://vnc.example.com:5800 connects to port 5800 of vnc.example.com, which may be
appropriate for a VNC remote control session. If the port number is omitted for an http: URL, the browser
will connect on port 80, the default HTTP port. The default port for an https: request is 443.
The path is used to specify and perhaps find the resource requested. It is case-sensitive, though it may be treated as case-insensitive by some servers, especially those based on Microsoft
Windows. If the server is case sensitive and http://en.example.org/wiki/URL is correct,http://en.example.org/WIKI/URL/ or http://en.example.org/wiki/url/ will
display an HTTP 404 error page, unless these URLs point to valid resources themselves.
The query string contains data to be passed to software
running on the server. It may contain name/value pairs separated by ampersands, for example ?first_name=John&last_name=Doe.
The fragment identifier, if present, specifies a part or a
position within the overall resource or document. When used with HTTP, it usually specifies a section or location within the page, and the browser may scroll to display that part of the page.
相关文章推荐
- [转]分清 URI、URL 和 URN
- URL、URN 、URI的区别和联系
- 知道URI、URL和URN都是什么吗?
- What is the difference between a URI, a URL and a URN
- 关于URI、URL和URN
- 关于URI,URL和URN
- URL、URN、URI的简要区别
- JAVA中URI、URL和URN的概念
- URI和URL及URN的区别
- URI URL URN 详解
- URI URL URN简介及其在Java中的应用
- URI和URL及URN的区别
- uri url urn
- uri url urn
- URI URN URL
- 你分得清URI、URN和URL吗?
- 茅塞顿开系列——URI,URL,URN
- URI、URL、URN区别和联系
- URI、URL、URN的原理、区别及JAVA的实现
- What is the difference between a URI, a URL and a URN