Node.js创建HTTP服务器

时间:2021-04-15 18:49:53

Node.js创建HTTP服务器:


var http = require('http');

//创建一个服务器对象
var server = http.createServer(function(req,res){
    //接收到客户端请求时的处理
}).listen(1337,"127.0.0.1");
server.on('error',function(e){
    if(e.code == 'EADDRINUSE'){
        console.log('服务器地址及端口已被占用');
    }
});
server.on('listening',function(){
    console.log("服务器端开始监听");
    //server.close();
});
//运行这段代码,然后在浏览器中输入http://localhost:1337执行该事件
server.on('connection',function(socket){
    console.log('客户端连接已建立')
});
//设置服务器超时时间为1分钟
server.setTimeout(60*1000,function(socket){
    console.log("服务器超时");
    console.log(socket);
});
server.on('close',function(){
    console.log('服务器已关闭');
});

Node.js在文件中保存客户端请求信息:


var http = require('http');
var fs = require('fs');

var server = http.createServer(function(req,res){

    //在浏览器中访问HTTP服务器时,部分浏览器可能会发出两次客户端请求,一次是用户发出的请求,另一次是浏览器为页面

    //在收藏夹中的显示图标(默认为favicon.ico)而自动发出的请求,所以需要过滤掉

    if(req.url !== "/favicon.ico"){
        var out = fs.createWriteStream('./request.log');
        out.write('客户端请求所用方法为:'+req.method+'\r\n');
        out.write('客户端请求所用url字符串为:'+req.url+'\r\n');
        out.write('客户端请求头对象为:'+JSON.stringify(req.headers)+'\r\n');
        out.end('客户端请求所用HTTP版本为:'+req.httpVersion);
    }
    res.end();
}).listen(1337,'127.0.0.1');
//运行这段代码,在浏览器输入http://localhost:1337/test?param1=1&param2=2地址

//会在应用程序根目录下创建一个request.log文件


Node.js创建HTTP服务器