2.1 URI与URL、URNhtml
例:http://www.yahoo.com/image/logo.gifsql
上例中:第一部分:http://数据库
第二部分:www.yahoo.com数组
第三部分:image/logo.gif浏览器
2.2 URL的语法服务器
URL基本由九部分组成:方案、用户、密码、主机、端口、路径、参数、查询、片断网络
方案实际上就是规定如何访问资源的主要标识符,负责告诉解析URL的应用程序使用的是什么协议。ide
方案组件必须以字母符号开始,且在URL中由第一个:将其与主体部分分开。加密
在URL中主机能够是相似“www.baidu.com”这种服务器名称,也能够是“192.168.1.3”这种IP地址,主要标识的是URL访问的具体服务器视频
端口组件标识了服务器正在监听的网络端口。
不少服务器是须要用户名和密码才能够登陆访问数据的,举例以下:
ftp://ftp.prep.ai.edu/pub/gnu
该例没有用户名和密码部分,只是标准的方案、主机和路径,若是所访问的服务器须要用户名和密码而用户没有主动填写,它一般会自动添加默认用户名(anonymous)和密码(IE会设置为IEUser)。
ftp://anonymous@ftp.prep.ai.edu/pub/gnu
该例是anonymous为用户名,用@将用户名和其余部分隔离开。
ftp://anonymous:password@ftp.prep.ai.edu/pub/gnu
该例和上例相似,只是增长了密码组件部分,用户名和密码之间用“:”隔开。
路径是URL访问服务器资源时寻找资源的具体位置的路径,其标识用“/”将各路径段链接在一块儿,组成完整路径。
对不少方案来讲,只有简单的用户名、密码、路径等信息是不足够的,还须要某些参数,负责解析URL的应用程序能够根据这些参数来访问资源。
好比FTP协议有两种传输模式,二进制和文本形式,在具体使用总,如何选择传输模式就是靠参数组件来设置了。
其格式为:由“;”将其与其余部分分隔开,例:ftp://ftp.prep.ai.edu/pub/gnu;type=d
访问某些资源时可能其内容过于庞大,而访问所需资源是某些小部份内容,此时须要查询字符串。
例:访问数据库。假如数据库内有物品清单,并能够对清单内物品进行查看是否有货,则能够用下列URL访问
查看编号为12341的物品:http://www.sqlwp.com/store?item=12341
其格式为:用符号“?”将其与其余组件部分隔开,如需多个参数则在参数与参数间用符号“&”隔开。
例:http://www.sqlwp.com/store?item=12341&color=blue
有些资源类型,好比HTML,除资源级能够划分外,还能够作进一步划分。
好比访问资源是一个大型带有章节的文档,理想的状况时访问某个章节,此时须要使用片断组件。
片断组件挂在URL的右手边,最前面加个符号#与其余部分分割。
例:http://www.sqlwp.com/store#color=blue
2.3 方案
格式:http://host:port/path?query#frag
示例:http://localhost.com:80/index.html
格式:https://host:port/path?query#frag
示例:https://localhost.com:80/index.html
格式:mailto:RCF-822-addr-spec
示例:mailto:joe@joes-hard.com
格式:ftp://user:password@host:port/path;param
示例:ftp://anonymous:password@ftp.prep.ai.edu/pub/gnu
格式:rtsp://user:password@host:port/path
示例:rtsp://www.joes-hard.com:554/video
格式:file://host/path
示例:file://localhost/words/111.doc
格式:telnet://user:password@host:port/
示例:telnet://www.joes-hard.com:554/