Node.js服务器

1、现在服务器软件有很多款,比较出名的是Apache、Nginx、
Node.js,它们都是当今性能很优秀的服务器。其中和Apache一起
搭配使用的软件还有Linux、MySQL、PHP,Nginx也差不多。
但是Node.js和前两者的差别还是很大的,从Node.js的名称上我们
可以看出它和JS语言貌似有什么关联。是的,它的服务器脚本语
言正是JS,并且该服务器是单线程基于异步I/O和事件循环的,它
是一款高性能的服务器。

2、用过Apache的人都知道,在用作web服务器的时候,如果脚本
用的是PHP,在HTTP请求到来的时候,在PHP脚本里面可以直接
获取到HTTP请求的参数等信息。但是在Node.js里面就没这么方便
了,Node.js提供了更底层的HTTP的JS模块——”http”,在使用的
时候需要导入该模块,例如:var http = require("http");
通过http模块,我们就可以监听某个端口(一般是80)来得到
HTTP请求,获取到请求后,我们要手动的去解析请求里的参数,
如果是GET请求,参数就在URL里面,如果是POST请求,参数在
数据体里,示例如下:

var http = require("http");
var url = require("url");

exports.onHttpReqDemo = function(){
    http.createServer(function(request, response){

        var pathname = url.parse(request.url).pathname;
        console.log("Request for " + pathname + " receieved.");

        response.writeHead(200,{"Content-Type":"text/plain"});
        response.write("Hello,world!");
        response.end();

    }).listen(80);
}

3、由于Node.js使用的JS脚本语言,我们知道在JS中有一个全局对
象的概念,在浏览器中,这个全局对象是window对象,而在
Node.js中是global对象,所有的全局变量都是它的属性,最典型的
console控制台对象就是global的属性,其实全局变量也没那么神秘
,就是一个{}对象而已。Node.js提供了很多模块,有http模块、
fs模块、url模块、events模块,其中很核心的就是events模块,通
过它可以用来监听或者发出事件,示例代码如下:

var events = require("events");
exports.onEvent = function () {

    var EventEmitter = events.EventEmitter;
    var event = new EventEmitter();

    event.on('some_event',function () {
        console.log("响应了some_event事件");
    });

    setTimeout(function () {
        event.emit("some_event");
    },2000);
} 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值