Node.js的url模块简介
什么是URL
URL是Uniform Location Resource的缩写,翻译为“统一资源定位符”,也就是描述资源位置的固定表示方法。被URL描述的资源可以位于互联网上,也可以位于本地。
URL的组成结构
基本URL包含模式(或者成为协议),服务器名(或IP地址),路径和文件名。
第一部分:协议
通过协议,可以获取打开URL的方式,最常见的协议是http,从网上查到的协议如下:
http 超文本传输协议
https 用安全套接字层传送的超文本传输协议
ftp 文件传输协议
mailto 电子邮件地址
ldap 轻型目录访问协议搜索
file 本地文件
news Usenet新闻组
gopher Gopher协议
telnet Telnet协议
第二部分:地址与路径
文件所在的服务器名称+端口号/用户名密码+文件的路径+文件本身的名称
当URL没有给出对应的文件名是,一般访问默认的文件名,例如index.html或default.html
Nodejs中的URL
URL对象的成员
URL对象中的成员如下:
href 被传入的未经解析的URL地址,包含协议(protocol)、主机名(host)等,都表示为小写
protocol:请求的协议名称,表示为小写,如‘http:’
slashes:冒号后的斜线,值为true或false
host:主机及端口的全部信息,例如‘host.com:8080’
auth:身份验证信息,例如‘user:pass’
hostname:主机名,例如‘host.com’
port:端口号,例如‘8000’
pathname:路径名,在主机名之后,查询语句之前的地址部分,包含‘/’,例如‘/p/a/t/h’
search:URL地址的查询部分,包括开头的问号,例如‘?query=string’
path:路径名与查询的串联,没有经过解码,例如‘/p/a/t/h?query=string’
query:查询部分的参数,或者解析后的查询字符串,例如‘query=string’或者{'query':'string'}
hash:URL地址中‘#’字符后的片段
URL对象中的函数
1、url.format(urlObj) :
将一个URL对象转化成格式化的URL地址。
url.format({protocol:"http:",host:"182.163.0:60",port:"60"
});
/*
返回值:
'http://182.163.0:60'
*/
2、url.parse(urlStr[, parseQueryString][, slashesDenoteHost]) :
将一个URL地址解析为一个URL对象,第二个参数传入布尔值,表示是否解析查询字符串,第三个参数传入布尔值,表示pathname是否去除host。示例:
url.parse只传一个参数的情况:
var url = require('url');
console.log(url.parse("http://user:pass@host.com:8080/p/a/t/h?query=string#hash"));
返回值:
{protocol: 'http:',slashes: true,auth: 'user:pass',host: 'host.com:8080',port: '8080',hostname: 'host.com',hash: '#hash',search: '?query=string',query: 'query=string',pathname: '/p/a/t/h',path: '/p/a/t/h?query=string',href: 'http://user:pass@host.com:8080/p/a/t/h?query=string#hash'
}
//没有设置第二个参数为true时,query属性为一个字符串类型
url.parse第二个参数为true的情况:
url.parse("http://user:pass@host.com:8080/p/a/t/h?query=string#hash",true);
/*
返回值:
{
protocol: 'http:',
slashes: true,
auth: 'user:pass',
host: 'host.com:8080',
port: '8080',
hostname: 'host.com',
hash: '#hash',
search: '?query=string',
query: { query: 'string' },
pathname: '/p/a/t/h',
path: '/p/a/t/h?query=string',
href: 'http://user:pass@host.com:8080/p/a/t/h?query=string#hash'
}
返回的url对象中,query属性为一个对象
*/
3、url.resolve(from, to) :
将from指向的URL转换到to。
转载于:https://www.cnblogs.com/samve/p/10808614.html
Node.js的url模块简介相关推荐
- Node.js 官方Path模块简介
Path 这个模块包含了用于处理文件路径相关的操作的函数. var path = requie ('path') path.normalize(p) 返回正常的文件夹路径.主要处理 '..' 和 '. ...
- [Node.js] 模块化 -- url、querystring模块
前端传参 get传参:拼接在url上面 http://127.0.0.1:4399/joke?id=8&username=admin post传参:不是拼接在url上面 请求体中传递 node ...
- node.js中ws模块创建服务端和客户端,网页WebSocket客户端
首先下载websocket模块,命令行输入 npm install ws 1.node.js中ws模块创建服务端 // 加载node上websocket模块 ws; var ws = require( ...
- Node.js(一、Node.js基础、模块加载机制、包等)
Node.js(一.Node.js基础.模块加载机制.包等) 1.Node.js基础 1.1.Node是什么 1.2.Node环境安装失败解决方法 1.2.1.Node环境搭建 1.2.2.错误代码2 ...
- node.js中模块_在Node.js中需要模块:您需要知道的一切
node.js中模块 by Samer Buna 通过Samer Buna 在Node.js中需要模块:您需要知道的一切 (Requiring modules in Node.js: Everythi ...
- 浅析 Node.js 的 vm 模块以及运行不信任代码
为什么80%的码农都做不了架构师?>>> 在一些系统中,我们希望给用户提供插入自定义逻辑的能力,除了 RPC 和 REST 之外,运行客户提供的代码也是比较常用的方法,好处是可 ...
- Node.js 初识 fs 模块
fs 模块是文件操作的封装,它提供了文件的读取.写入.更名.删除.遍历目录.链接等 Unix 文件系统操作.与其他模块不同的是,fs 模块中所有的操作都提供了 同步 和 异步 两个版本,比如读取文件内 ...
- 开场 Live,分享点干货——「深入了解 Node.js 包与模块机制」
先放上 Live 地址: www.zhihu.com/lives/84274- 本次 Live 将深入剖析 Node.js 包与模块机制,包括且不限于解析 Node.js 源码.社区规范等.本人认为这 ...
- php node 目录,node.js基于fs模块对系统文件及目录进行读写操作的方法详解
本文主要介绍了node.js基于fs模块对系统文件及目录进行读写操作的方法,结合实例形式分析了nodejs使用fs模块针对文件与目录的读写.创建.删除等相关操作技巧,需要的朋友可以参考下. 如果要用这 ...
最新文章
- Oracle数据库无法启动解决方法
- vlc rtsp流 转 http播放视频
- 2.Redis数据库(搭建redis主从的必要性)以及主从搭建(Windows为例)
- Python学习笔记__1.5章 循环
- python列表切片图解_Python列表切片操作实例总结
- springboot公共模块打包_解决SpringBoot多模块发布时99%的问题?
- 线程状态切换之等待队列和同步队列
- 13个VSCode使用技巧,开启高效的开发模式
- PAT 1074. 宇宙无敌加法器(20)-PAT乙级真题
- SpringBoot日志logback-spring.xml分环境
- window连接不上linux ftp_不懂操作?手把手教你如何在linux下搭建FTP
- oracle行号排序问题
- 目标检测数据集格式转换(yolo→voc)
- 声音(音乐)分类综述
- 联想Z5:0%电量还能通话半小时,网友质疑是造假?
- cjk-ext-e 字体
- SEO推广技术是什么意思?SEO是什么职业?
- SAP S4 MM配置详解之三:物料主数据-定义物料类型/物料状态/字段选择控制/物料组
- MQL4读取hst文件代码范例
- android查看内存使用情况