nodejs-url网址解析的好帮手
HTTP协议中url和uri的区别。
每个url都是uri,但是不是每个uri都是url。
URI:是统一资源的标识符,web上可用的每种资源如HTML文档、图像、视频片段、程序等都是一个URI来定位的。URI的三个组成部分:
- 访问资源的命名机制
- 存放资源的主机名
- 资源自生的名称,由路径表示,着重强调于资源。
URL:统一资源的定位符。在internet上用来描述信息资源的字符串,主要用在各种www客户程序和服务程序上,特别是Mosaic。采用URL可以用一种统一的格式来描述各种信息资 源,包括文件、服务器的地址和目录等。URL的三个组成部分:
- 协议(或者称为服务方式)
- 存有该资源的主机IP地址,有时也包括端口号
- 主机资源的具体地址,如目录和文件名。
接下来学习一下nodejs中URL的三个方法:
在nodejs中URL很重要,只要是涉及到网络请求的接收,路径参数的处理,非常方便的解析出url的组成部分,从而来识别请求的类型,以及来判断如何来返回数据。
1. 首先在命令行输入node进入node环境。(注意:第一次学习cmd命令的时候,以为$也是命令,后来才发现原来他只是一个标识,命令的标识。)
$ node
2. 命令行中查看url的方法。
$ 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')

用法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)

参数说明:
- protocol:底层使用的协议(http或者ftp等)
- slashes:是否有协议的双斜线//
- auth:
- host: IP地址或者域名
- port: 端口 默认是80
- hostname: 主机名
- hash:嘻哈值 一般对应的是页面上的某个锚点
- search: 查询字符串参数
- query: 发送给HTTP的一个数据,被等号分割开的键值叫做参数串
- pathname: 访问资源路径名
- path:路径
- href: 没被解析的完整的路径
4. url.format() 方法:将参数合并成合法的url地址,如下图所示

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

nodejs-url网址解析的好帮手的更多相关文章
- url网址解析的好帮手
接下来进入node的重点,也就是介绍nodejs主要api的功能和如果使用,由于nodejs逐渐能满足这种高并发和大规模的场景.他才被更多的公司所采用 无论什么资源,一定要有明确的地址才有意义,在互联 ...
- node.js基础 1之 URL网址解析的好帮手
URL和URI的区别: URL是统一资源定位符 URI是统一资源标识符 URL是URI的子集(URL一定是URI,但URI不一定是URL) node中的URL中的url.parse protocol: ...
- phpcms V9 MVC模式 与 URL访问解析
[1]URL访问解析 观察访问网页时的网址,可以得出模块访问方法,如下示例: http://www.abcd.com.cn/phpcms/index.php?m=content&c=index ...
- Json文件/网址解析
// // main.m // OC8-Json文件解析 // // Created by qianfeng on 15/6/23. // Copyright (c) 2015年 qianfeng. ...
- phpcms(1)phpcms V9 MVC模式 与 URL访问解析(转)
[1]URL访问解析 观察访问网页时的网址,可以得出模块访问方法,如下示例: http://www.abcd.com.cn/phpcms/index.php?m=content&c=index ...
- Django url配置 正则表达式详解 分组命名匹配 命名URL 别名 和URL反向解析 命名空间模式
Django基础二之URL路由系统 本节目录 一 URL配置 二 正则表达式详解 三 分组命名匹配 四 命名URL(别名)和URL反向解析 五 命名空间模式 一 URL配置 Django 1.11版本 ...
- 巨蟒python全栈开发django4:url反向解析图解&&模板渲染
第一部分: 1.(1)知识点回顾: django回顾: ()下载安装 输入网址,a,form表单get post,爬虫 (请求)==>django项目服务端的url(r"index/& ...
- nodejs模块xml2js解析xml的坑
在一个项目中,用到nodejs模块xml2js解析xml,xml的数据如下: <xml> <MsgId>6197906553041859764</MsgId> &l ...
- django的url反向解析
目的:防止页面中url地址改变,其他与这个URL地址有关联的都要改,减少耦合度 使用:主要分为在html中和视图函数中的使用 HTML中的使用: 如果我们在项目的url文件中通过include导入了应 ...
随机推荐
- python资源推荐
一.文档教程 1. 廖雪峰python教程 廖老师的教程我相信不用说了吧,每个学习python的人或多或少都听说过他,对我的帮助很大. 2.python中文学习大本营 名字叫做python中文学习大本 ...
- MongoDB的DBREF 使用.
首先要记一下根据 DBREF 的ObjectId 以及根据 ref 集合为条件查询问题. 在不同的可视化客户端里面显示的问题. //某客户端显示这样,直接CMD查询也是这样显示.这样我无法看懂find ...
- DTCMS插件的制作实例电子资源管理(四)URL重写
总目录 插件目录结构(一) Admin后台页面编写(二) 前台模板页编写(三) URL重写(四) 本实例旨在以一个实际的项目中的例子来介绍如何在dtcms中制作插件,本系列文章非入门教程,部分逻辑实现 ...
- 故障定位之查找附近点GeoHash研讨
随着移动终端的普及,很多应用都基于LBS功能,附近的某某(餐馆.银行.妹纸等等). 基础数据中,一般保存了目标位置的经纬度:利用用户提供的经纬度,进行对比,从而获得是否在附近. 目标:查找附近的XXX ...
- select, poll, epoll的实现分析
select, poll, epoll都是Linux上的IO多路复用机制.知其然知其所以然,为了更好地理解其底层实现,这几天我阅读了这三个系统调用的源码. 以下源代码摘自Linux4.4.0内核. 预 ...
- 【java学习笔记】正则表达式
一.正则表达式 1.预定义字符集 . 表示任意一个字符 \d 表示任意一个数字 \w 表示任意一个单词字符(只能是数字.字母.下划线) \s 表示任意一个空白字符(\t\r\n\f\x0B) \D ...
- 利用 xrandr 命令修改屏幕分辨率
问题背景 电脑外接着一个 23' 的显示器,分辨率为 1920*1080. 操作系统:ubuntu 14.04 今天,通过 Setting->Displays 中选择外接屏的分辨率时,发现最大只 ...
- 笔记+R︱风控模型中变量粗筛(随机森林party包)+细筛(woe包)
每每以为攀得众山小,可.每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~ --------------------------- 本内容来源于CDA-DSC课程内容,原内容为& ...
- Error Code: 1360 - Trigger does not existQuery
1.错误描述 Query: DROP TRIGGER `t_sert_cs_approve` Error occured at:2015-04-12 13:37:32 Line no.:1 Error ...
- 芝麻HTTP:
只要你的Scrapy Field字段名字和 数据库字段的名字 一样.那么恭喜你你就可以拷贝这段SQL拼接脚本.进行MySQL入库处理. 具体拼接代码如下: def process_item(self, ...