浏览器因特网资源:URL是浏览器寻找信息时所需的资源位置。通过URL。应用程序才干找到并使用共享因特网上大量的数据资源。
大部分URL都遵循一种标准的格式:
①HTTP协议(http://或者https://)
②server的因特网地址(www.baidu.com或者csh.joes.com)
③webserver上的某个资源 (/spa/csh.php)
④传某个数据给server上的资源(可选,?name=csh&age=25)
URL的语法:大多数URL语法都建立在9个部分构成的通用格式上。而当中最重要的是方案(scheme)、主机(host)和路径(path)
通用格式:方案://username:password@主机名:port/server上资源的路径;參数?查询#片段
1、方案:指訪问server以获取资源时要使用哪种协议。比方。http、https和FTP等
2、主机和port:指资源宿主server的主机名或IP地址。
port是指资源宿主server正在监听的port。非常多HTTP的默认port号是80。比方。130.32.12.34:800。这里的IP地址是主机名。port是800
3、username和password:非常多server都要求输入username和password才会同意用户訪问数据,如FTPserver。
样例:joe是username、joepasswd是password
ftp://joe:joepasswd@ftp.prep.edu/pub/name
4、路径:路径说明了资源位于server的什么地方。
样例:/cans/index.html就是URL中的路径
http://www.hda.com/cans/index.html
5、參数:为了向应用程序提供它们所须要的输入參数。以便正确地与server进行交互,URL中有个參数组件。由字符“;”将其与URL的其余部分分隔开来。
样例:;type=7;nam=true就是两个參数。
ftp://prep.mit.edu/pub;type=7;nam=true
6、查询:非常多资源。比方数据库服务、搜索引擎,都能够通过提问题或进行查询来缩小请求资源的范围。由字符“?
”将其与URL的其余部分分隔开来。
样例:查询组件有两个名/值对:name=csh和age=24
http://www.cheng.cn/si.html?name=csh&age=24
7、片段:#代表网页中的一个位置,其右面的字符就是该位置的标识符(普通情况下,锚链接会用到)
样例:以下的URL中,代表网页si.index的print位置,浏览器读取这个URL后,会自己主动将print位置滚动至可视区域。
http://www.cheng.cn/si.html#print
URL的分类:URL能够分为绝对URL和相对URL
绝对URL:绝对URL中包括了訪问资源所需的所有信息。
案例:<a href=’http://cheng.com/si.html></a>
相对URL:相对URL包括的仅仅是訪问资源所需的部分信息。而要想得到訪问资源的所有信息的话,就要和还有一个被称为基础(base)的URL结合进行解析
案例:<script src="lib/sea.js"></script>
相对URL中的基础URL:转换相对URL的第一步就是找到基础URL
1、在资源中显式地指定基础URL。
比方,HTML文档中可能会包括一个定义了基础URL的HTML标签<base>
2、封装资源的基础URL。在HTML中,基础URL能够从它们所属资源的基础URL中推导出来
案例:HTML页面中的基础URL
页面URL:http://www.cheng.com/si/sa.html
上述HTML页面的基础URL是http://www.cheng.com