| URL 用于URL的处理和解析
| const url = require(‘url’) // 引用

href 解析后的完整url

'http://user:pass@host.com:8080/p/a/t/h?query=string#hash'

protocol 返回协议 ‘http’

host 返回主机和端口

auth 返回 URL 的用户名与密码部分

hostname 主机

port 端口

pathname URL的整个路径部分

search 获取url参数 ‘?query=string’ 包括?号

path 返回url和参数不包括协议和主机 ‘/p/a/t/h?query=string’

query 返回参数对象返回 ‘query=string’ or {‘query’: ‘string’}

hash 返回hash部分 ‘#’

url.format(urlObject) 根据对象构建一个路径

var obj = { 
    protocol: 'https',
    host: 'www.sss.com:4000',
    pathname: 'index' 
}
url.format(obj)
//returns 'https://www.sss.com:4000/index'

parse(urlString[, parseQueryString[, slashesDenoteHost]]) 返回url的一些信息, querystring为true使用querstring模块来解析url中的查询字符

exports.createServer2 = function(){
    var server = http.createServer(function(request, response){
        var oUrl = url.parse(request.url);
        console.log('路径', oUrl);               
    });

    server.listen(8081, 'localhost');
}

返回:
{
    protocol: null,            // 协议 http
    slashes: null,
    auth: null,                // 身份
    host: null,                // 主机    
    port: null,                // 端口
    hostname: null,            // 主机名
    hash: null,
    search: null,
    query: null,            // 查询参数或者使用querystring.parse() 返回{username:'siguang'};
    pathname: '/apples/',    // 路径名
    path: '/apples/',        // 路由
    href: '/apples/'         // 链接
}

resolve(from, to) 两个网址拼接

url.resolve('http://example.com/', '/one')    // 'http://example.com/one'
url.resolve('http://example.com/one', '/two') // 'http://example.com/two'

slashes