http://www.cnblogs.com/zhulin/archive/2011/04/06/2006865.html
http://www.ietf.org/rfc/rfc3986.txt
地址:http://www.w3.org/Addressing/rfc1808.txt
http://wiki.jabbercn.org/RFC3986#.E9.99.84.E5.BD.95A._.E4.B8.BAURI.E6.94.B6.E9.9B.86.E7.9A.84ABNF
RFC 1808 Relative Uniform Resource Locators June 1995
格式: :///;?#
each of which, except , may be absent from a particular URL.
These components are defined as follows (a complete BNF is provided
in Section 2.2):
scheme ":" ::= scheme name, as per Section 2.1 of RFC 1738 [2].
"//" net_loc ::= network location and login information, as per
Section 3.1 of RFC 1738 [2].
"/" path ::= URL path, as per Section 3.1 of RFC 1738 [2].
";" params ::= object parameters (e.g., ";type=a" as in
Section 3.2.2 of RFC 1738 [2]).
"?" query ::= query information, as per Section 3.3 of
RFC 1738 [2].
"#" fragment ::= fragment identifier.
The following are two example URIs and their component parts:
foo://example.com:8042/over/there?name=ferret#nose
\_/ \______________/\_________/ \_________/ \__/
| | | | |
scheme authority path query fragment
| _____________________|__
/ \ / \
urn:example:animal:ferret:nose