自2009年Node.js诞生以来,其发展速度如此之快。
严格的说,Node.js是一个用于开发各种Web服务器的开发工具。
Node.js为什么发展的这么快,迅速成长起来的呢,首先,我们看一下现在的服务器端语言中存在的问题,在Java、PHP、ASP.NET等服务器端语言中,为每一个客户端创建一个新的线程,每个线程需要耗费大约2MB的内存,就是说,理论上,8GB内存的服务器可以同时连接的最大用户数为4000个左右。要让Web应用程序支持更多的用户,就要增加服务器,这样一来,硬件成本就增加了,而Node.js解决了这个问题,它并不是为每个用户请求创建一个新的线程,而是为每个用户请求触发一个在Node.js内部进行的处理事件。也就是说,使用Node.js可以同时处理多达几万个用户的客户端连接。
在Node.js服务器中运行的是高性能的V8 JavaScript脚本语言。V8 JavaScript是由Gooole公司使用C++语言开发的一种高性能Javascript引擎,该引擎并不局限在浏览器中运行,Node.js将其用在了服务器中,V8 JavaScript引擎内部使用一种全新的编译技术。这意味着,开发者编写的高端的JavaScript脚本代码与开发者编写的C语言具有肺中近似的执行效率。听起来是不是很高大上啊!
Node.js中采用了非阻塞式I/O和事件循环,这是为了实现高性能而做的改进。
当应用程序需要处理大量并发的输入输出,而在向客户端发出响应之前,应用程序内部不需要进行非常更复杂的处理的时候,可以用Node.js来进行应用程序的开发。例如:聊天类服务器和电子商务网站或综合服务类网站的服务器。
Node.js内置了很多模块,同时也可以引入第三方模块。
说了这么多,是时候动手了,首先要安装Node.js,这就不说了,到官网下载安装即可。
举个小例子,让我们看一看这高大上的Node.js程序。
新建文件,Node.js,写下如下代码:
var http = require(‘http‘); //引入http模块
http.createServer(function(req, res) {
//用http模块的createServer方法创建用于接收客户端请求并响应的HTTP服务器应用程序。
res.writeHead(200, {‘Content-Type‘: ‘text/html‘});
res.write(‘<h1>Node.js</h1>‘);
res.end(‘<p>Hello World</p>‘);
}).listen(3000);
console.log("HTTP server is listening at port 3000.");
对,这就是一个简单的Node程序,这一小段代码创建了服务器,并向客户响应了一条消息,在浏览器中输入localhost:3000就可以看到效果了。