一、URL基本格式
一个完整的url包含方案、用户名、密码、主机名、端口、路径、参数、查询和片段,格式如下:
< scheme >://< user >:< password >@< host >:< port >/< path >;< params >?< query >#< frag >
例如:http://admin:password@192.168.1.1/html/index.html?test&bmg
- scheme 方案
URL 的第一部分被称为方案(scheme), 说明了访问资源所使用的协议类型。 这部分通常就是 HTTP 协议(http://)。 - 用户名和密码
访问网站使用的用户名和密码,两者之间使用“:”分隔; - 主机(host)和端口(port)
主机可以是IP地址也可以是域名,URL的主机和端口组件告诉应用程序要从哪台机器装在资源。端口组件标识了服务器正在监听的网络端口,http的端口号默认是80,在URL中可以省略,比如http://www.baidu.com/等价于http://www.baidu.com:80/ - 路径(path)
URL的路径指明了需要访问的资源位于服务器的什么位置,比如http://192.168.2.34/pic/test.html这个URL的路径为/pic/test.html。 - 参数(params)
URL中还可以包含很多参数,这些参数之间用“;”分隔。HTTP的URL可以分成多个路径段,每个路径段都可以有自己的参数。如:
ftp://prep.ai.mit.edu/pub/gnu;type=d
http://www.joes-hardware.com/hammers;sale=false/index.html;graphics=true
第一个URL中包含一个参数type,其值为d;第二个URL的路径分成两段,第一段中的参数为sale,值为false,第二段中的参数为graphics,值为true; - 查询字符串(query)
查询字符串用于给服务器传递参数,以减小所请求资源的类型范围。query字段以“?query”起始,而且可以包含不止一个参数,参数之间使用“&”分隔。如:
http://www.joes-hardware.com/inventory-check.cgi?item=12371&color=blue - 片段(frag)
URL支持使用片段组件来表示一个资源内部的片段,比如URL可以指向HTML文档中的某个特定的文档或者小节。片段位于URL的最右边,使用“#”分隔。