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
格式: <scheme>://<net_loc>/<path>;<params>?<query>#<fragment>
each of which, except <scheme>, 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