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导入了应 ...
随机推荐
- 4.3 lambda表达式
函数,封装的代码块可以很复杂,也可以很简单.当函数的代码块简单到只有一个表达式,就可以考虑用lambda表达式,也称匿名函数. 1 lambda表达式基础 #首先需要声明一点:lambda是表达式而非 ...
- 吾八哥学Selenium(二):操作输入框/按钮的方法
一个web页面一定少不了输入框或者按钮这两种元素,那么在Python里如何使用Selenium操作web页面里的输入框和按钮呢?本文带你简单入门. 本文采用了一个例子,就是利用Selenium打开百度 ...
- Hadoop1.x原理
将这种单机的工作进行分拆,变成协同工作的集群,这就是分布式计算框架设计.使得计算机硬件类似于应用程序中资源池的资源,使用者无需关心资源的分配情况,从而最大化了硬件资源的使用价值.分布式计算也是如此,具 ...
- qwe框架- CNN 实现
CNN实现 概述 我在qwe中有两种,第一种是按照Ng课程中的写法,多层循环嵌套得到每次的"小方格",然后WX+b,这样的做法是最简单,直观.但是效率极其慢.基本跑个10张以内图片 ...
- PL/SQL 基础知识简介
1.PL/SQL代码块 PL/SQL 代码块是指令的集合,支持所有的DML,NDS,DBMS_SQL,DDL. :DML 是数据操纵语言(Data Manipulation Language)包括,I ...
- WebService之CXF注解之四(测试类)
TeacherTest.java: /** * @Title:TeacherTest.java * @Package:com.test.service * @Description: * @autho ...
- C#之AES256位加密解密
密码学中的高级加密标准(Advanced Encryption Standard,AES),又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准.这个标准用来替代原先的DES,已经被多方分 ...
- Java常量定义
Java常量定义 /** * char 类型常量 */ private static final char CHAR = 'A'; /** * byte 类型常量 */ private static ...
- 芝麻HTTP:如何寻找爬虫入口
寻找爬虫入口 1 .本次任务的入口 这个爬虫的更好的入口就是我们平常使用的搜索引擎.搜索引擎虽然有很多种,但是其实都是在干一件事,收录网页,处理,然后提供搜索服务.在平时使用的过程中,我们通常都是直接 ...
- poi 导入导出的api说明(大全)
原文链接:http://www.cnblogs.com/qingruihappy/p/8443101.html poi 导入导出的api说明(大全) 一. POI简介 ApachePOI是Apache ...