URL的组成

来源:互联网 发布:c 多进程编程 例子 编辑:程序博客网 时间:2024/05/29 08:15

URL常见的组成模式如下:

<scheme>://<netloc>/<path>?<query>#<fragment>

比如一个常见的URL:

https://www.baidu.com/path/s?id=1&age=13#new

组成部分如下:

<scheme> -http<netloc> -www.baidu.com<path>  - path/s<query> -id=1&age=13<fragment> -new

1.协议:
该URL的协议部分为“http:”,这代表网页使用的是HTTP协议。在Internet中可以使用多种协议,如HTTP,FTP等等本例中使用的是HTTP协议。在”HTTP”后面的“//”为分隔符,其他协议常见的有:

这里写图片描述

2.域名:
该URL的域名部分为“www.baidu.com”。一个URL中,也可以使用IP地址作为域名使用(本地是127.0.0.1,相当于localhost这个在这里是不行的)

3.端口:
跟在域名后面的是端口,域名和端口之间使用“:”作为分隔符。端口不是一个URL必须的部分,如果省略端口部分,将采用默认端口(http默认端口是80),如果您是开发者,其实端口是可以在先关开发中进行修改。

4.虚拟目录(路径):
从域名后的第一个“/”开始到最后一个“/”为止,是虚拟目录部分。虚拟目录也不是一个URL必须的部分。本例中的虚拟目录是“/path/”

5.文件名:
从域名后的最后一个“/”开始到“?”为止,是文件名部分,如果没有“?”,则是从域名后的最后一个“/”开始到“#”为止,是文件部分,如果没有“?”和“#”,那么从域名后的最后一个“/”开始到结束,都是文件名部分。本例中的文件名是“s.html”(默认.html文件名是隐藏的)。文件名部分也不是一个URL必须的部分,如果省略该部分,则使用默认的文件名

6.参数:
从“?”开始到“#”为止之间的部分为参数部分,又称搜索部分、查询部分。本例中的参数部分为“id=1&age=13”。参数可以允许有多个参数,参数与参数之间用“&”作为分隔符。

7.锚:
从“#”开始到最后,都是锚部分。本例中的锚部分是“name”。锚部分也不是一个URL必须的部分


使用JS获取URL相关组成:

 window.location.href    整个URl字符串(在浏览器中就是完整的地址栏)window.location.protocol    URL 的协议部分window.location.host    URL 的主机部分window.location.port    URL 的端口部分window.location.pathname    URL 的路径部分(就是文件地址)window.location.search    查询(参数)部分window.location.hash    锚点