当前位置 主页 > 网站技术 > 代码类 >

    使用node.JS中的url模块解析URL信息

    栏目:代码类 时间:2020-02-06 15:06

    在HTTP部分,详细介绍了URL的相关知识。而nodejs中的url模块提供了一些实用函数,用于URL处理与解析。

    解析URL

    解析 URL 对象有以下内容,依赖于他们是否在 URL 字符串里存在。任何不在 URL 字符串里的部分,都不会出现在解析对象里

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

    ┌─────────────────────────────────────────────────────────────────────────────┐

    │                                    href                                     │

    ├──────────┬┬───────────┬─────────────────┬───────────────────────────┬───────┤

    │ protocol ││   auth    │      host       │           path            │ hash  │

    │          ││           ├──────────┬──────┼──────────┬────────────────┤       │

    │          ││           │ hostname │ port │ pathname │     search     │       │

    │          ││           │          │      │          ├─┬──────────────┤       │

    │          ││           │          │      │          │ │    query     │       │

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

    │          ││           │          │      │          │ │              │       │

    └──────────┴┴───────────┴──────────┴──────┴──────────┴─┴──────────────┴───────┘

    href: 准备解析的完整的 URL,包含协议和主机(小写)

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

    protocol: 请求协议, 小写

    'http:'

    slashes: 协议要求的斜杠(冒号后)

    true 或 false

    host: 完整的 URL 小写 主机部分,包含端口信息

    'host.com:8080'