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导入了应 ...
随机推荐
- 剑指offer第六天
29.最小的K个数 输入n个整数,找出其中最小的K个数.例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4. 解法一: Partition思想 允许改变原始数组的情况, ...
- JavaScript基础教程1-20160612
1.javascript是一门浏览器运行的脚本语言和java没关系 2.javascript语言写在哪里? (1)可以写单独的文件里面去调用(推荐采用此方法) index.html <head& ...
- Phpstrom操作Git从服务器端克隆代码到本地
1.第一步点开Git 2.添加项目的路径 第一个框是你所在的项目路径,后缀名是.git,这里我用的是HTTPS的方式(还有一种是SSH) 第二是你要克隆到所在目录,我的是在Apache下面的htdoc ...
- linux 存储技术 部署iSCSI NFS Multipath多路径
存储技术应用存储是根据不同的应用环境通过采取合理,安全,有效的方式将数据保存到某些介质上并能保证有效的访问另一方面,它是保证数据完整安全存放的方式或行为存储就是把这两方面结合起来,向客户提供一套数据存 ...
- HighGUI图形图像界面初步—— 图像的载入、显示与输出
HighGUI模块为高层GUI图形用户界面模块,包含媒体的输入输出.视频捕捉.图像和视频的编解码.图形交互界面的接口等. 在本章中,我们将学到: 图像的载入.显示和输出到文件的详细分析 滑动条的创建和 ...
- Davinci DM6446开发攻略——DSP开发工程建立
前段时间一直忙一个项目,同时在生活上时时提防和抵抗中国地沟油.国外核心转基因调和油.大豆油.色拉油.大米玉米.可怕的喂药鱼.药水泡农药喷无虫咬的青菜,所以没时间打理自己的博客,让开发攻略停顿了一段时间 ...
- RS232 3线制与7线制的区别
当通信距离较近时,可不需要Modem,通信双方可以直接连接,这种情况下,只需使用少数几根信号线.最简单的情况,在通信中根本不需要RS-232C的控制联络信号,只需三根线(发送线.接收线.信号地线)便可 ...
- Servlet配置
1.在Servlet中,Servlet的配置 @WebServlet(name="csvExportServlet",urlPatterns="/servlet/CsvE ...
- STM32F4 串口实验中收不到超级终端发送的数据,调试工具却可以
我用串口精灵发送数据没有问题,但是接收数据没反应. 串口接受的时候必须要用中断的,你发送只靠单一的标志位是可以判断的,但是接受的时候,你是一直停留在while里面,我们判断接受是否完成,通过检测是否收 ...
- VTK显示.vtk格式文件
void ReadandShowVTKFile () { vtkSmartPointer<vtkRenderer > aRenderer = vtkSmartPointer<vtkR ...