node url模块的url对象组成分析

url 是node的模块之一,使用这个模块可以对url 进行处理和应用;

我们来看看node url是有哪些部分组成

本次测试版本 v7.6.0;


测试的 url :    https://user:[email protected]:8080/dog/pig/fish/?query=string#hash;


url 模块有个parse方法,可以用来分离完整的url:如下图




现在逐一对上面分解的各个部分进行解释:

 1.protocol: 'https:',

         protocol 表示url 遵守的协议,例如本例中的https协议,或者http协议等;


 2.slashes: true,

        双斜线


 3.auth: 'user:pass',

        用户名和密码部分  本例中:user:pass   ;   格式是:  a:b   ;    其中:b 是可选项;


 4.host: 'cvper.host.com:8080',

       主机,包括主机名(cvper.host.com)和端口号(8080);


 5.port: '8080',

      port 指定端口号8080


 6.hostname: 'cvper.host.com',

     hostname 主机名,仅仅包括hostname,不包括端口号


 7.hash: '#hash',

      hash 片段,包含前面的#


 8.search: '?query=string',

      查询部分,包含前面的问号 ?


 9.query: 'query=string',

      查询部分,查询字符串


 10.pathname: '/dog/pig/fish/',

       由路径组成,表示路径;


 11.path: '/dog/pig/fish/?query=string',

      path由路径查询两部分组成;


 12.href: 'https://user:[email protected]:8080/dog/pig/fish/?query=string#hash'

       此部分不是url 组成部分,是完整的url表示


    以上就是各个部分的组成和含义;