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()方法必须调用,否则请求不会发出。
执行效果: