//引入模块
var http=require('http');
//创建服务
var server = http.createServer(function(req,res){
//响应头
res.writeHead(200,{'Content-Type':'text/html'});
//相应内容
res.write('<p>connect server successfully!!!!</p>');
//响应结束
res.end('<p>complete!</p>');
//监听端口
})
server.listen(3000);
server.on("close",function(){
console.log("sever is closed");
})
server.close();
二、服务器请求 http.ServerRequest
1.get请求
是url完整的请求,直接嵌入在路径中,包括了“?”后面部分。node.js的url.parse(str,flag)将解析“?”后面的部分。
var http=require('http');
var urls=require('url');
var util=require('util');
//创建服务
http.createServer(function(req,res){
res.writeHead(200,{'Content-Type':'text/plain'});
//解析并以字符串形式返回给客户端
res.end(util.inspect(urls.parse(req.url,true)));
}).listen(3000);
2.post请求
请求的内容全部都在请求体中,http.ServerRequest并没有一个属性内容为请求体,因为请求体的传输是一个耗时的工作,所以node.js不会自动解析请求体,需要手动解析。
var http=require('http');
var queryStr=require('querystring');
var util=require('util');
//创建服务
http.createServer(function(req,res){
var post='';
//注册data事件监听函数,接受请求体的数据
req.on('data',function(chunk){
post+=chunk;
})
req.on('end',function(){
//解析成真正的post为真正的post请求格式,相当于Ext.decode();(json格式)
post=queryStr.parse(post);
//向前端返回
res.end(util.inspect(post));
})
}).listen(3000);
二、返回客户端 http.ServerResponse
代码请参照上面,详细可参照API文档