首页技术文章正文

使用HTTP模块构建Web服务器

更新时间:2021-12-01 来源:黑马程序员 浏览量:

IT培训班

下面通过一个案例来演示Node.js中使用HTTP模块构建Web服务器的过程,具体步骤如下:


(1)在Course/code目录下创建目录chapter07。

(2)在chapter07目录下创建文件demo7-1.js,并在该文件下添加如下代码demo7-1.js:

/**
 * 使用HTTP构建Neb服务器
 */
var http = require('http');
// 1.创建一个HTTP服务器
var server = http.createServer();
// 2.监听 请求(request)事件
// request就是一个可读流,用来获取当前与服务器连接的客户端的一些请求报文数据
// response就是一个可写流,用来给客户端Socket发送消息,或者用来发送响应报文
server.on('request', function(request, response) {
    // 使用HTTP发送响应数据时,HTTP服务器会自动把数据通过HTTP协议包装为一个
    // 响应报文然后发送到Socket
    response.write('hello world');
    // 在结束响应之前,可以多次向客户端发送数据
    response.write('hello itheima');
    // 对于HTTP请求响应模型来说,它们的请求和响应是一次性的
    // 也就是说,每一次请求都必须结束响应
    // 标识断开当前连接
    response.end();
    // 在一次HITP请求响应模型中,当结束了响应时,就不能继续发送数据,以下消息不会显示
});
//3.监听端口
server.listen(3000, function()(console.log('server is listening at port 3000');
 });

在上述代码中,第6行使用http.createServer()函数创建服务器对象server。在第10行监听server对象的request事件,request事件回调函数的参数为request和response,在第12行和第14行分别使用response.write()函数向客户端发送数据,在结束响应之前可以多次发送。第18行使用response.end()函数结束响应,结束响应后不能再继续发送数据。第22~24行监听端口3000,由于在本机测试,IP地址127.0.0.1。


打开终端,执行demo7-1.js,执行结果如图7-10所示。

打开Chrome浏览器,在地址栏中输入http://127.0.0.1:3000,按【Enter】键,访问结果如图7-11所示。

1638340059503_web服务器.png


在图7-11中可以看出,两次调用response.write(O函数的结果全部输出,使用HTTP构建Web服务器已经成功。






猜你喜欢:

Web API是干什么的?Web API与API的关系

什么是http超文本传输协议?工作原理是什么?

HTTPS的优缺点有哪些?

HTTP通信机制是如何建立通信的?

黑马程序员HTML前端与移动开发培训

分享到:
在线咨询 我要报名
和我们在线交谈!