, . +-+ foo123 a#b : ,: .: +-+: foo123: x/y x/y:z http://www.anonymizer.com:8080/http://www.foobar.com/cgi-bin/query?q=a+b&s=1#frag http:foo.org/ http:/foo.org/ htTP://foo.org http://foo.org/ ftp:foo.org/ ftp:/foo.org/ ftp://foo.org ftp://foo.org/ ftp://user:password@foo.org:8021/path/;type=a ftp://user@foo.org:8021/path/;TYPE=I %68%74%74%70://foo.bar %61%62%00%fF %61%62%00%fg abc%23nofrag % %6 %61 ftp://foo.bar/%a whatever:foo/bar http://127.0.0.1/ http://foo%2ebar/path/ ftp://%61%62%63:%61%62@foo.org/abc http://host:/ ftp://1.2.3.4;type=d ftp://1.2.3.4;type=x gopher://host gopher://host/ gopher://host/0unchecked gopher://host/zunchecked file://host/abc file://host:80/abc file://host:80/abc; mailto: mailto:foo@bar mailto:foo@bar%25relay mailto:foo% news: news:foobar news:foobar% nntp: nntp://server:8119/foobar nntp://server/foobar% telnet: telnet://user:pass@server:8023/ telnet://127.0.0.1 wais: wais://server wais://server/foobar wais://server:8210/foobar wais://server/foobar% prospero: prospero://server prospero://server/foobar;x=y prospero://server:9525/foobar;x=y prospero://server/foobar% http://server/path/http://foobar/ http://server/path/ftp://foobar/ http://server/path/xyzzy://foobar/ http://server/path/blajavascript://foobar/ http://server/path/javascript://foobar/ http://server/path/http://foobar/http: http://server/path/http://foobar/xyzzy: http://server/path/http://foobar/javascript: javascript:abc http://foobar:0/ http://foobar:65535/ http://foobar:65536/ cache_object://host/info@password https://dom.ain/path