• Node.js的url模块简介


    什么是URL

    URL是Uniform Location Resource的缩写,翻译为“统一资源定位符”,也就是描述资源位置的固定表示方法。被URL描述的资源可以位于互联网上,也可以位于本地。

    URL的组成结构

    基本URL包含模式(或者成为协议),服务器名(或IP地址),路径和文件名。

    第一部分:协议

    通过协议,可以获取打开URL的方式,最常见的协议是http,从网上查到的协议如下:

    http 超文本传输协议

    https 用安全套接字层传送的超文本传输协议

    ftp 文件传输协议

    mailto 电子邮件地址

    ldap 轻型目录访问协议搜索

    file 本地文件

    news Usenet新闻组

    gopher Gopher协议

    telnet Telnet协议

    第二部分:地址与路径

    文件所在的服务器名称+端口号/用户名密码+文件的路径+文件本身的名称

    当URL没有给出对应的文件名是,一般访问默认的文件名,例如index.html或default.html

    Nodejs中的URL

    URL对象的成员

    URL对象中的成员如下:

    href 被传入的未经解析的URL地址,包含协议(protocol)、主机名(host)等,都表示为小写

    protocol:请求的协议名称,表示为小写,如‘http:’

    slashes:冒号后的斜线,值为true或false

    host:主机及端口的全部信息,例如‘host.com:8080’

    auth:身份验证信息,例如‘user:pass’

    hostname:主机名,例如‘host.com’

    port:端口号,例如‘8000’

    pathname:路径名,在主机名之后,查询语句之前的地址部分,包含‘/’,例如‘/p/a/t/h’

    search:URL地址的查询部分,包括开头的问号,例如‘?query=string’

    path:路径名与查询的串联,没有经过解码,例如‘/p/a/t/h?query=string’

    query:查询部分的参数,或者解析后的查询字符串,例如‘query=string’或者{'query':'string'}

    hash:URL地址中‘#’字符后的片段

    URL对象中的函数

    1、url.format(urlObj) :

    将一个URL对象转化成格式化的URL地址。

    url.format({
        protocol:"http:",
        host:"182.163.0:60",
        port:"60"
    });
    /*
    返回值:
    'http://182.163.0:60'
    */

    2、url.parse(urlStr[, parseQueryString][, slashesDenoteHost]) :

    将一个URL地址解析为一个URL对象,第二个参数传入布尔值,表示是否解析查询字符串,第三个参数传入布尔值,表示pathname是否去除host。示例:

    url.parse只传一个参数的情况:

    var url = require('url');
    console.log(url.parse("http://user:pass@host.com:8080/p/a/t/h?query=string#hash"));

    返回值:

    {
       protocol: 'http:',
       slashes: true,
       auth: 'user:pass',
       host: 'host.com:8080',
       port: '8080',
       hostname: 'host.com',
       hash: '#hash',
       search: '?query=string',
       query: 'query=string',
       pathname: '/p/a/t/h',
       path: '/p/a/t/h?query=string',
       href: 'http://user:pass@host.com:8080/p/a/t/h?query=string#hash'
    }
    //没有设置第二个参数为true时,query属性为一个字符串类型

    url.parse第二个参数为true的情况:

    url.parse("http://user:pass@host.com:8080/p/a/t/h?query=string#hash",true);
    /*
    返回值:
    {
    protocol: 'http:',
    slashes: true,
    auth: 'user:pass',
    host: 'host.com:8080',
    port: '8080',
    hostname: 'host.com',
    hash: '#hash',
    search: '?query=string',
    query: { query: 'string' },
    pathname: '/p/a/t/h',
    path: '/p/a/t/h?query=string',
    href: 'http://user:pass@host.com:8080/p/a/t/h?query=string#hash'
    }
    返回的url对象中,query属性为一个对象
    */

    3、url.resolve(from, to) :

    将from指向的URL转换到to。

  • 相关阅读:
    双指针
    二分查找
    二叉树
    递归思想
    排序算法
    Java常用集合使用方法总结
    攻防世界-PHP文件包含
    正则表达式随笔
    ts 函数
    ts 联合类型
  • 原文地址:https://www.cnblogs.com/samve/p/10808614.html
Copyright © 2020-2023  润新知