启动http服务器

HTTP服务器是node.js提供的一个模块的功能,该模块的稳定指标是Stability: 3 - Stable,是很稳定的模块API,可放心使用。

点击 这里 打开http模块文档,可以查看详细的API说明。

通过var http = require("http")的方式可以得到http模块对象,通过http.createServer([requestListener])方法可创建一个 http.Server 的服务器对象实例。

接下来,在stuwebfk目录下,建立一个example/day01文件夹,里面建立一个名为httpServer.js的文件。

var http = require("http");   // 获得http模块对象
var server = http.createServer();    // 创建一个http.Server对象实例

接下来要监听server的request事件,也就是当有客户端访问服务器时,内部就会创建一个request对象,当require请求对象创建后会触发该事件。

server.on("request",handle);

handle是个事件处理函数,该函数会接收到两个对象,request请求对象和response响应对象,request对象是http.IncomingMessage类型,request是个只读流,而response是 http.ServerResponse 类型,是个可写流。

function handle(request,response){
     response.write("Hello world");   //  向浏览器端写入数据
     response.end();   // 结束响应
}

接下来,要让服务器监听一个端口。

server.listen(3000)    // 让服务器监听3000端口

到此为止,可以让服务器启动了,启动方法是cd进入experiment目录,node httpServer 命令启动服务器。

> node httpServer

接下来,用浏览器打开 http://localhost:3000

会显示出:

Hello world


光是能打印字符串还是不行的,还要能显示html页面,下面修改一下程序的handle函数,把html标签返回到浏览器端。

function handle(request,response){
     response.write("<b>Hello world</b>");   //  加入html标签
     response.end();   // 结束响应
}

Hello world


下一节,我们将创建一个独立的html页面,有请求时,会把html页面的数据返回浏览器端。