url 的结构

URL (Uniform Resource Locator) 统一资源定位符

完整的 URL 由以下几个部分组成:

scheme://host:port/path?query#hash

  • scheme: 通信协议,通常有:http, https, ftp, mailto 等
  • host: 主机域名或者 ip 地址
  • port: 端口号,可选。省略时使用协议默认的端口号,比如 http 的默认端口是 80
  • path: 路径由零个或者多个 "/" 符号隔开的字符串组成,一般用来表示主机上的一个目录或者文件地址
  • query: 查询,可选。用于传递参数,可以有多个,参数之间用 "&" 隔开,每个参数的名和值之间用 "=" 隔开
  • hash: 信息判断字符串,也可以称为锚点,可以指定网络资源中的片段,就是定位到网页中的某一个部分。

比如:

https://www.baidu.com/index.html?id=1&page=1#name1

用 javascript 获得其中的各个部分如下:

  • window.location.href:整个 URl 字符串,返回值:"https://www.baidu.com/index.html?id=1&page=1#name1"
  • window.location.protocol:协议部分,返回值:"https:"
  • window.location.host:主机部分。返回值:"www.baidu.com"
  • window.location.port:端口部分。如果采用了协议默认的端口,则返回空字符。本例返回值:""
  • window.location.pathname:路径部分。返回值:"/index.html"
  • window.location.search:查询(参数)部分。返回值:"?id=1&page=1"
  • window.location.hash:锚点。返回值:"#name1"
原文地址:https://www.cnblogs.com/leafs99/p/url_structure.html