URL

具体地址:http://nodejs.cn/api/url.html

3种引用模式

C:\Documents and Settings\Administrator\WebstormProjects\untitled3>node

先进入node环境

> url
{ parse: [Function: urlParse],
resolve: [Function: urlResolve],
resolveObject: [Function: urlResolveObject],
format: [Function: urlFormat],
Url: [Function: Url] }

调用url

parse解析:

> url.parse('http://www.imooc.com/video/6710')

//生成项:
{ protocol: 'http:',
slashes: true,
auth: null,
host: 'www.imooc.com',
port: null,
hostname: 'www.imooc.com',
hash: null,
search: null,
query: null,
pathname: '/video/6710',
path: '/video/6710',
href: 'http://www.imooc.com/video/6710' }

format解析:你给予的信息生成一个url

> url.format({ protocol: 'http:',
... slashes: true,
... auth: null,
... host: 'www.imooc.com',
... port: null,
... hostname: 'www.imooc.com',
... hash: null,
... search: null,
... query: null,
... pathname: '/video/6710',
... path: '/video/6710',
... href: 'http://www.imooc.com/video/6710' }
... )
//生成项:'http://www.imooc.com/video/6710'

resolve解析

> url.resolve('http://imooc.com/','/course/list')
//生成项:'http://imooc.com/course/list'

parse的应用

> url.parse('http://imooc.com:8080/curse/list?from=scott&&course=node#dloor1')
{ protocol: 'http:',
slashes: true,
auth: null,
host: 'imooc.com:8080',
port: '8080',
hostname: 'imooc.com',
hash: '#dloor1',
search: '?from=scott&&course=node',
query: 'from=scott&&course=node',
pathname: '/curse/list',
path: '/curse/list?from=scott&&course=node',
href: 'http://imooc.com:8080/curse/list?from=scott&&course=node#dloor1' }

> url.parse('http://imooc.com:8080/curse/list?from=scott&&course=node#dloor1',true)
{ protocol: 'http:',
slashes: true,
auth: null,
host: 'imooc.com:8080',
port: '8080',
hostname: 'imooc.com',
hash: '#dloor1',
search: '?from=scott&&course=node',
query: { from: 'scott', '': '', course: 'node' },       //query被解析成了对象
pathname: '/curse/list',
path: '/curse/list?from=scott&&course=node',
href: 'http://imooc.com:8080/curse/list?from=scott&&course=node#dloor1' }

互相对比下看看那里不一样

> url.parse('//imooc.com/curse/liast',true)
{ protocol: null,
slashes: null,
auth: null,
host: null,
port: null,
hostname: null,
hash: null,
search: '',
query: {},
pathname: '//imooc.com/curse/liast',
path: '//imooc.com/curse/liast',
href: '//imooc.com/curse/liast' }

> url.parse('//imooc.com/curse/liast',true,true)
{ protocol: null,
slashes: true,
auth: null,
host: 'imooc.com',
port: null,
hostname: 'imooc.com',
hash: null,
search: '',
query: {},
pathname: '/curse/liast',
path: '/curse/liast',
href: '//imooc.com/curse/liast' }

protocol :    协议
slashes:    是否有协议的双斜线
auth: 
host:      域名/ip地址
port:      端口
hostname: 主机名
hash:     面向某个锚点
search:      查询字符串参数
query:   发送给http的一个参数  =号分支开的参数串
pathname:访问资源路径名
path:    路径
href:     超链接

node.js url模块的更多相关文章

  1. Node.js——url模块

    url模块通过api可以将get提交的参数方便的提取出来

  2. Node.js 文件系统模块

    章节 Node.js 介绍 Node.js 入门 Node.js 模块 Node.js HTTP模块 Node.js 文件系统模块 Node.js URL模块 Node.js NPM Node.js ...

  3. Node.js Web模块

    什么是Web服务器? Web服务器是处理由HTTP客户端发送的,如web浏览器的HTTP请求的软件应用程序,并返回响应于客户端网页. Web服务器通常伴随着图片,样式表和脚本的HTML文档. 大多数W ...

  4. node.js基础模块http、网页分析工具cherrio实现爬虫

    node.js基础模块http.网页分析工具cherrio实现爬虫 一.前言      说是爬虫初探,其实并没有用到爬虫相关第三方类库,主要用了node.js基础模块http.网页分析工具cherri ...

  5. Node.js的模块载入方式与机制

    Node.js中模块可以通过文件路径或名字获取模块的引用.模块的引用会映射到一个js文件路径,除非它是一个Node内置模块.Node的内置模块公开了一些常用的API给开发者,并且它们在Node进程开始 ...

  6. Node.js工具模块

    在Node.js的模块库中提供实用的模块数量. 这些模块都是很常见的,并同时开发基于任何节点的应用程序频繁使用. S.N. 模块的名称和说明 1 OS Module提供基本的操作系统相关的实用功能 2 ...

  7. Node.js:模块

    概要:本篇博客主要介绍node.js的模块 1.创建模块 在node.js中创建一个模块非常简单,因为一个文件就是一个模块.我们只需要明白如何从其他文件中获取这个模块.Node.js提供了 expor ...

  8. node.js之模块

    node.js之模块 1.自定义模块的设置 加载自定义模块利用require: eg: require('./custom_module.js') 2.从模块外部访问模块内的成员 2.1使用expor ...

  9. Node.js的安装以及Node.js的模块管理

    索引: Node.js的安装以及Node.js的模块管理Node.js开发环境搭建以及对ES6的支持Node.js构建Vue.js项目Vue.js单文件组件的开发基于Vue.js的UI组件(Eleme ...

随机推荐

  1. 在spring+hibernaet+mysql事务处理中遇到的一些坑

    spring的事务处理本来就是依赖于底层的实现,比如hibernate及数据库本身. 所以,当使用mysql数据库时,首先要确定的是,所操作的对象表是innodb格式的. 1. read-only方法 ...

  2. SQL Server 强行Insert包含自增列值的记录

    SET IDENTITY_INSERT 表 ON INSERT INTO 表 ([ID] ,[SequenceNumber] ,[EnumCode] ,[Description]) VALUES ( ...

  3. JS判断是不是Decimal类型(正则实现)

    备忘: function isDecimal(item) { var obj = $(item); if (obj.length > 0) { if ($(obj).val() != null ...

  4. ADT "Running Android Lint" has encountered a problem

    解决办法: Window--->Preferences----->Android--------> LInt Error Checking----->when saving f ...

  5. ios9基础知识(技能篇)

    NSFileManager.NSURL.NSFileHandle.NSData.NSXMLParser.NSUserDefaults.NSKeyedArchiver.NSKeyedUnarchiver ...

  6. SQL随机查询,显示行号,查询数据段

    1.显示行号 如果数据没有删除的情况下主键与行号是一致的,但在删除某些数据,行号就与主键不一致了,这时需要查询行号就需要用新的方法,在SQL Server2005之前,需要使用临时表,但在SQL Se ...

  7. canvas入门

    <html> <head> <script> window.onload=function(){ var canvas=document.getElementByI ...

  8. 从汇编看c++中指向成员变量的指针(一)

    在c++中,指向类成员变量的指针存储的并不是该成员变量所在内存的地址,而仅仅是该成员变量在该类对象中相对于对象首地址的偏移量.因此,它必须绑定到某一个对象或者对象指针上面,这里的对象和对象指针,就相当 ...

  9. 简单C# 验证类

    using System; using System.Text.RegularExpressions; namespace bobomousecom.crm { /// <summary> ...

  10. 常量 - PHP手册笔记

    常量语法 常量在脚本执行期间其值不能改变.常量大小写敏感,传统上常量标识符总是大写.常量一旦定义就不能被重新定义或取消定义,常量的值只能是标量. 可以用define()函数来定义常量,也可以使用con ...