为什么要用node.js

node.js的定义是建构在google V8 engine以及Linux上的一个非阻塞事件驱动IO框架。

特征来讲

1,服务器端js进程

2,用了V8引擎

3,没有阻塞

4,事件驱动

5,采用了通用的js语法

其中3和4是关键。没有阻塞,就是说异步处理,一个http请求过去,不会开辟一个新的线程,而是由主线程接受,然后调用了一个方法,让那个方法去处理该请求,主线程去接受另外的请求,那个方法处理好之后就把结果放入队列中,返回给请求方。这样的话,服务器端就可以无阻塞的处理很多请求,而不用开辟新线程的方式耗费大量服务器端的资源。


其实这个思想并不陌生,在客户端也是经历了由同步刷新到异步刷新的过程,现在随着客户端ajax的普及,终于服务器端也开始了异步处理的革命。

处理流程:

1,你用浏览器访问nodejs服务器上的"/about.html"

2,nodejs服务器接收到你的请求,调用一个函数从磁盘上读取这个文件。

3,这段时间,nodejs webserver在服务后续的web请求。

4,当文件读取完毕,有一个回调函数被插入到nodejs的服务队列中。

5,nodejs webserver运行这个函数,实际上就是渲染(render)了about.html页面返回给你的浏览器。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值