Nodejs的http模块,是基于net.server,经过c++二次封装,也是nodejs的核心模块。

功能比net.server更强,可解析和操作更多细节内容,如值、content-length、请求方法、响应码状态等等,且使用更方便。

本文将介绍如何用http模块创建一个Web服务器,并再创建一个客户端对其发起访问。

服务器代码:

var http = require("http");

//参数:req是请求数据包,res是返回数据包
var server = http.createServer(function(req,res){
//200是返回码,窝内类型是文本
res.writeHead(200,{"Content-Type":"text/plain"});

res.write("Hello JShaman.com");
res.end();
})

server.listen(8000,function(){
console.log("listening on port 8000");
});


代码解析:

1、引用http模块,并使用createServer方法建立http服务器;

2、监听在8000端口。

运行效果:

用浏览器访问:

客户端代码:

var http = require("http");

var req = http.request("http://127.0.0.1:8000",function(res){
console.log("http headers:",res.headers);

res.on("data",function(data){
console.log(res.statusCode);
console.log("body",data.toString());
})
});

req.end();



代码解析:

1、使用http.request方法连接本机8000端口;

2、在连接请求回调函数中,输出返回的数据头、以及返回的数据内容;

3、req.end()方法必须调用,否则请求不会发出。

执行效果: