什么是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模块简介相关推荐

  1. Node.js 官方Path模块简介

    Path 这个模块包含了用于处理文件路径相关的操作的函数. var path = requie ('path') path.normalize(p) 返回正常的文件夹路径.主要处理 '..' 和 '. ...

  2. [Node.js] 模块化 -- url、querystring模块

    前端传参 get传参:拼接在url上面 http://127.0.0.1:4399/joke?id=8&username=admin post传参:不是拼接在url上面 请求体中传递 node ...

  3. node.js中ws模块创建服务端和客户端,网页WebSocket客户端

    首先下载websocket模块,命令行输入 npm install ws 1.node.js中ws模块创建服务端 // 加载node上websocket模块 ws; var ws = require( ...

  4. 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 ...

  5. node.js中模块_在Node.js中需要模块:您需要知道的一切

    node.js中模块 by Samer Buna 通过Samer Buna 在Node.js中需要模块:您需要知道的一切 (Requiring modules in Node.js: Everythi ...

  6. 浅析 Node.js 的 vm 模块以及运行不信任代码

    为什么80%的码农都做不了架构师?>>>    在一些系统中,我们希望给用户提供插入自定义逻辑的能力,除了 RPC 和 REST 之外,运行客户提供的代码也是比较常用的方法,好处是可 ...

  7. Node.js 初识 fs 模块

    fs 模块是文件操作的封装,它提供了文件的读取.写入.更名.删除.遍历目录.链接等 Unix 文件系统操作.与其他模块不同的是,fs 模块中所有的操作都提供了 同步 和 异步 两个版本,比如读取文件内 ...

  8. 开场 Live,分享点干货——「深入了解 Node.js 包与模块机制」

    先放上 Live 地址: www.zhihu.com/lives/84274- 本次 Live 将深入剖析 Node.js 包与模块机制,包括且不限于解析 Node.js 源码.社区规范等.本人认为这 ...

  9. php node 目录,node.js基于fs模块对系统文件及目录进行读写操作的方法详解

    本文主要介绍了node.js基于fs模块对系统文件及目录进行读写操作的方法,结合实例形式分析了nodejs使用fs模块针对文件与目录的读写.创建.删除等相关操作技巧,需要的朋友可以参考下. 如果要用这 ...

最新文章

  1. Oracle数据库无法启动解决方法
  2. vlc rtsp流 转 http播放视频
  3. 2.Redis数据库(搭建redis主从的必要性)以及主从搭建(Windows为例)
  4. Python学习笔记__1.5章 循环
  5. python列表切片图解_Python列表切片操作实例总结
  6. springboot公共模块打包_解决SpringBoot多模块发布时99%的问题?
  7. 线程状态切换之等待队列和同步队列
  8. 13个VSCode使用技巧,开启高效的开发模式
  9. PAT 1074. 宇宙无敌加法器(20)-PAT乙级真题
  10. SpringBoot日志logback-spring.xml分环境
  11. window连接不上linux ftp_不懂操作?手把手教你如何在linux下搭建FTP
  12. oracle行号排序问题
  13. 目标检测数据集格式转换(yolo→voc)
  14. 声音(音乐)分类综述
  15. 联想Z5:0%电量还能通话半小时,网友质疑是造假?
  16. cjk-ext-e 字体
  17. SEO推广技术是什么意思?SEO是什么职业?
  18. SAP S4 MM配置详解之三:物料主数据-定义物料类型/物料状态/字段选择控制/物料组
  19. MQL4读取hst文件代码范例
  20. android查看内存使用情况

热门文章

  1. 12月3号条件控制语句和循环语句
  2. php 学习笔记 数组1
  3. c++ STL容器初探
  4. 最受欢迎的ASP.NET的CMS下载
  5. apue学习之文件IO第二部分
  6. 网站架构之统一数据服务平台技术
  7. 充分理解表达式——《狂人C》习题解答2(第二章习题5)
  8. Squid下Http头信息优先级
  9. HTML4.0标准语法--字体
  10. CUDA Samples: Ray Tracking