url的组成部分以及获取各部分的信息
eg:“https://www.baidu.com:8080/news/index.html?kw=Romeo&lover=Juliet#q_418871472”
组成部分:
1.协议部分:该url的协议部分为“https”,这代表网页使用的是HTTP协议。在Internet中可以使用多种协议,如HTTP,FTP等。例中使用的是HTTP协议。在“https”后面的//为分隔符。
2.域名部分:该url的域名部分为“www.baidu.com”。一个url中,也可以使用IP地址作为域名使用。
3.端口部分:跟在域名后面的是端口,域名和端口之间使用":“作为分隔符。本例中的端口部分是"8080”,端口不是一个url必须的部分,如果省略端口部分,将使用默认端口号。
4.虚拟目录部分:从域名后的第一个"/“开始到最后一个”/“结束,是虚拟目录部分。虚拟目录也不是一个url必须的部分。本例中的虚拟目录部分是”/news/"
5.文件名部分:从域名后的第一个"/“起到”?“为止,是文件名部分,如果没有”?",则是从域名后的最后一个"/“开始到”#“为止是文件名部分,如果没有”?“和”#",则是从域名后的最后一个"/“开始到结束,都是文件名部分。本例中的文件名是"index.html”。文件名部分也不是一个URL必须的部分,如果省略该部分,则使用默认的文件名。
6.参数部分:从"?“开始到”#“之间的部分是参数部分,每一个参数使用”&“进行分割。本例中的参数部分是"kw=Romeo&lover=Juliet”
7.锚部分:HTTP请求不包括锚部分,从"#“开始到最后都是锚部分。本例中的锚部分是"q_418871472”。锚部分也不是一个url必须的部分。
获取信息:
·浏览器宿主环境中,有一个location对象,同时这个对象也是Window对象和document对象的属性。location对象中提供了与当前窗口加载的文档有关信息,即URL信息。
1.location.href:获取完整URL信息
2.location.protocol:返回协议(https)
3.location.host:返回域名和端口号(www.baidu.com:8080)
4.location.hostname:返回域名(也叫服务器名或者主机名www.baidu.com)
5.location.port:返回端口号(8080)
6.location.pathname:返回目录名和文件名(news/index.html)
7.location.search:返回参数(也叫查询字符串?kw=Romeo&lover=Juliet#2)
8.localtion.hash:返回hash值(#2)