目录
一、http 模块
1、什么是http 模块
在网络节点中,负责消费资源的电脑,叫做客户端;负责对外提供网络资源的电脑,叫做服务器。
服务器和普通电脑的区别在于,服务器上安装了 web 服务器软件,例如:IIS、Apache 等。通过安装这些服务器软件,就能把一台普通的电脑变成一台 web 服务器。
http 模块是 Node.js 官方提供的、用来创建 web 服务器的模块。通过 http 模块提供的 http.createServer() 方法,就能方便的把一台普通的电脑,变成一台 Web 服务器,从而对外提供 Web 资源服务。
在 Node.js 中,我们不需要使用 IIS、Apache 等这些第三方 web 服务器软件。因为我们可以基于 Node.js 提供的 http 模块,通过几行简单的代码,就能轻松的手写一个服务器软件,从而对外提供 web 服务。
2、用http创建web服务器
要开发HTTP服务器程序,从头处理TCP连接,解析HTTP是不现实的。这些工作实际上已经由Node.js自带的http模块完成了。应用程序并不直接和HTTP协议打交道,而是操作http模块提供的request和response对象。
-
request对象封装了HTTP请求,我们调用request对象的属性和方法就可以拿到所有HTTP请求的信息;
-
response对象封装了HTTP响应,我们操作response对象的方法,就可以把HTTP响应返回给浏览器。
(1)导入http模块
const http = require('http');
(2)创建web服务器实例
const server = http.createServer();
(3)为服务器绑定request事件,监听客户端的请求
server.on('request',((req, res) =>
console.log('hello http')
}))
(4)启动服务器
server.listen(3000);
console.log("服务器已经启动,监听3000端口,请访问localhost:3000")
完整代码:
const http = require('http');
const server = http.createServer();
server.on('request',(req, res) => {
console.log('hello http')
})
server.listen(3000);
console.log("服务器已经启动,监听3000端口,请访问localhost:3000")
运行结果如下: