URL:是浏览器寻找信息时所需要的资源位置。
URI:是由两个主要的子集URL和URN组成。(区别URL:是通过描述资源的位置来标识资源的。URN:是通过名字来标识资源的,与他们当前所处的位置无关。
URL最主要的三个部分:第一部分:是URL的方案,方案可以告知客户端怎样访问资源。 http
第二部分:是指服务器的位置,这部分告知web客户端资源位于何处。 www.joes-hardware.com
第三部分:是资源的路径,说明了请求的是服务器上那个特定的本地资源。 /seasonal/index-fall.html
http://www.joes-hardware.com/seasonal/index-fall.html
URL提供了一种定位因特网上任意资源的手段,但是这些资源可以通过各种不同的方案(比如HTTP 、FTP 、SMTP)来访问的,因此URL语法会随方案的不同有所不同的。
URL组件:方案、用户、密码、主机、端口、路径、参数、查询、片段。
1、方案组件:必须以一个字母符号开始。方案名与大小写无关。
2、主机组件:可以是ip地址也可以是主机名。http://www.joes-hardware.com:80/index.html 和http://161.58.228.45:80/index.html 指像同一个服务器的地址
3、端口组件:标识了服务器正在监听的网络端口,对下层使用TCP协议的HTTP来说,默认端口号为80。
4、用户名和密码:(ftp://anonymous:my_passwd@ftp.prep.ai.mit.edu/pub/gnu)
5、参数组件:(ftp://prep.ai.mit.edu/pub/gnu;type=d)有一个参数type=d。参数名为type,值为d。
由于URL的路径组件可以分成若干路径段,每段都可以有自己的参数。例如:http://www.joes-hardware.com/hammers;sale=false/index.html;graphics=true
这个例子有两个路径段,hammers 和index.html。hammers 路径段有参数sale,其值为false。index.html路径段有参数graphics,其值为true。
6、查询组件:http://www.joes-hardware.com/inventory-check.cgi?item=12731&color=blue 这个例子中,查询组件有两个名/值对:item=12731&color=blue ,两个名值对之前用&连接。
7、片段组件:http://www.joes-hardware.com/tools.html#drills 浏览器从服务器获得了整个资源之后,会根据片段来显示你赶兴趣的那部分资源。服务器处理的是整个对象,因此URL片段仅由客户端使用