为什么要用node.js

来源:互联网 发布:微场景制作软件推荐 编辑:程序博客网 时间:2024/05/16 06:10

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页面返回给你的浏览器。


0 0