初识Nodejs

Nodejs主要应用领域

1>  RESTFul API

2>  实时通信:如消息推送等

3>  高并发

4> I/O阻塞

NodeJS 的优势

1. 性能高  (高出php86倍)    2. 跟前台JS配合方便

3. 便于前端学习    

异步流程控制对象 async

1. 串行无关联 assync.series

2. 并行无关联   async.parallel

3. 串行有关联 waterfall

事件监听

event.EventEmitter

    1>emitter.addListener(event,listenner)==on //添加监听

    2>emitter.on(event,listener)

    3>emitter.once(event,listener)  //一次性的监听器

    4>emitter.removeListener(event,listener)  //删除指定监听

    5>emitter.removeAllListeners([event])  //删除所有监听

    6>emitter.setMaxListener(n)  //设置最大监听数 0:无限制 ,超出10个 EventEmitter将打印警告信息

    7>emitter.listeners(event)  //返回特定事件的监听器集合

    8>emitter.emit(event,[arg1],[arg2],[...]) //顺序执行每个事件监听器

node 框架

express,koa

从浏览器输入url到加载出界面,期间经历了什么?

1. Chrome 搜索自身的DNS

2. 搜索操作系统自身的DNS缓存(浏览器没有找到缓存或者缓存已经失效)

3. 读取本地的HOST文件

4. 浏览器发起一个DNS的一个系统调用

5. 浏览器获得域名对应的IP地址后,发起HTTP三次握手

6.TCP/IP连接建立,浏览器开始向服务器发送http请求。

7. 服务器接收请求,根据参数把处理后的结果返回给浏览器。

8. 浏览器拿到返回结果,解析并渲染页面

Node 解析参数

一. GET

var rdata = url.parse(req.url,true) //true 表示解析query字段的字符串为对象

二. POST

var post = '';

req.on('data',function(chunk){

    post += chunk;

})

req.on('end',function(){

      post = querystring.parse(post);

})


    

你可能感兴趣的:(初识Nodejs)