node.js已经不是一个新词汇了,但它究竟是什么今天才算有点了解,增长一下自己的见识吧
Node被称之为基于事件的JavaScript或基于事件的I/O
Node的的确确是属于网络编程的范畴,用以处理服务器端的请求和响应。node.js不是javascript,它是一个可以运行javascript的程序。实际上node是基于C写的程序。Node让人着迷的地方在于,你完全可以用很简单而且很不起眼的JavaScript程序来完成你想要的这些结果。
node的一个小例子:
var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello World\n');
}).listen(1337, "127.0.0.1");
console.log('Server running at http://127.0.0.1:1337/');
这里展示了使用Node的标准模式:
定义交互类型,并获得一个用以处理这个交互的变量(通过require())。
创建一个新的服务(通过createServer())。
给服务绑定一个回调,用以处理请求。包括处理请求的函数应当包括一个请求…,以及一个响应
通知服务器启动服务,这里需要指定IP和端口(通过listen)。
node规避了一个前端和后端对JSON解释的问题,因为前端通过JavaScript作JSON编码,后台使用JavaScript作JSON解码,永远不会出问题。
Node更擅长处理体积小的请求以及基于事件的I/O,使用Node解决客户端和服务器之间的快速沟通,使用表单提交将大量的数据发送给服务器,使用PHP和Perl来处理重型数据库操作以及动态HTML页面的生成。使用Node运行于服务器端来处理体积不大的请求。不管是采用Rails还是Spring以及各式各样的服务端容器,只要按需索取即可。一定要明白你需要解决的问题是什么,基于此采取最佳解决方案,而不是基于你当下所掌握的技能来解决遇到的问题。
本文是笔者参照http://developer.51cto.com/art/201109/288849.htm的理解,不对的请不吝赐教