首页
登录 | 注册

nodejs-url网址解析的好帮手

HTTP协议中url和uri的区别。

 每个url都是uri,但是不是每个uri都是url。

 URI:是统一资源的标识符,web上可用的每种资源如HTML文档、图像、视频片段、程序等都是一个URI来定位的。URI的三个组成部分:

  1. 访问资源的命名机制
  2. 存放资源的主机名
  3. 资源自生的名称,由路径表示,着重强调于资源。

 URL:统一资源的定位符。在internet上用来描述信息资源的字符串,主要用在各种www客户程序和服务程序上,特别是Mosaic。采用URL可以用一种统一的格式来描述各种信息资  源,包括文件、服务器的地址和目录等。URL的三个组成部分:

  1. 协议(或者称为服务方式)
  2. 存有该资源的主机IP地址,有时也包括端口号
  3. 主机资源的具体地址,如目录和文件名。

 

接下来学习一下nodejs中URL的三个方法:

在nodejs中URL很重要,只要是涉及到网络请求的接收,路径参数的处理,非常方便的解析出url的组成部分,从而来识别请求的类型,以及来判断如何来返回数据。

1. 首先在命令行输入node进入node环境。(注意:第一次学习cmd命令的时候,以为$也是命令,后来才发现原来他只是一个标识,命令的标识。)

 

$ node

 

2. 命令行中查看url的方法。

$ url
nodejs-url网址解析的好帮手

3. 首先验证url.parse()这个方法

用法1:不加true参数
$ url.parse('https://promotion.aliyun.com/ntms/act/season.html?utm_campaign=season&utm_medium=images&utm_source=cnblog&utm_content=m_42835')

nodejs-url网址解析的好帮手

用法2:追加一个true参数
$ url.parse('https://promotion.aliyun.com/ntms/act/season.html?utm_campaign=season&utm_medium=images&utm_source=cnblog&utm_content=m_42835',true)

nodejs-url网址解析的好帮手

参数说明:

  1. protocol:底层使用的协议(http或者ftp等)
  2. slashes:是否有协议的双斜线//
  3. auth:
  4. host: IP地址或者域名
  5. port: 端口 默认是80
  6. hostname: 主机名
  7. hash:嘻哈值 一般对应的是页面上的某个锚点
  8. search: 查询字符串参数
  9. query: 发送给HTTP的一个数据,被等号分割开的键值叫做参数串
  10. pathname: 访问资源路径名
  11. path:路径
  12. href: 没被解析的完整的路径

4. url.format() 方法:将参数合并成合法的url地址,如下图所示

nodejs-url网址解析的好帮手

 

5. url.resolve()方法:拼接

nodejs-url网址解析的好帮手

 


相关文章

  • Dom4J配合XPath解析schema约束的xml配置文件问题
    如果一个xml文件没有引入约束,或者引入的是DTD约束时,那么使用dom4j和xpath是可以正常解析的,不引入约束的情况本文不再展示. 引入DTD约束的情况 mybook.dtd: <?xml version="1.0&q ...
  • 前言:今天在做一个小项目时,客户要求的xml,跟现在有系统要求的不一样,所以要自己重新写函数支持返回,进行简单总结,希望对大家有所帮助. 首先,使用xml函数需要链上动态库libxml2,需要在电脑上安装libxml的开发包,安装方法如下: ...
  • SpringBoot集成Lombok,应用+源码解析,让代码优雅起来
    一.Lombok简介 (1)Lombok官网(https://projectlombok.org/)对lombok的介绍 (2)GitHub项目地址:https://github.com/rzwitserloot/lombok 虽然是生硬的 ...
  • 对于初学者,或者没有接触过网络编程的程序员,会觉得网络编程涉及的知识很高深,很难,其实这是一种误解,当你的语法熟悉以后,其实基本的网络编程现在已经被实现的异常简单了. 网络通信作为互联网的技术支持,已被广泛应用在软件开发中,无论是Web,服 ...
  • 目录 什么是闭包?(掌握) 两种为函数传参的方式 闭包函数的应用(掌握) 回顾: 函数对象:可以将定义在函数内的函数返回到全局使用,从而打破函数的层级限制. 名称空间与作用域:作用域关系在函数定义阶段时就已经固定死了,与调用位置无关,即在任 ...
  • Springcloud Gateway 路由管理
    Spring Cloud Gateway 是 Spring Cloud 的一个全新项目,该项目是基于 Spring 5.0,Spring Boot 2.0 和 Project Reactor 等技术开发的网关,它旨在为微服务架构提供一种简单 ...

2020 cecdns.com webmaster#cecdns.com
12 q. 0.066 s.
京ICP备10005923号