如何创建基本的web服务器
// 1.导入http模块
const http = require('http');
// 2.创建 web 服务器实例
const server = http.createServer();
// 3.为服务器实例绑定 request 事件,监听客户端的请求
server.on('request', function(req, res) {
console.log('Someone visit our web server.');
});
// 4.启动服务器
server.listen(8080, function() {
console.log('server running at http://127.0.0.1:8080');
});
req请求对象
const http = require('http');
const server = http.createServer();
//req是请求对象,包含了客户端相关的数据和属性
server.on('request', (req, res) => {
//req.url 是客户端请求的 URL 地址
const url = req.url;
//req.method 是客户端请求的 method 类型
const method = req.method;
const str = `Your request url is ${url},and request method id ${method}`;
console.log(str);
// 调用res.end()方法,向客户端响应一些内容
res.end(str)
});
server.listen(80, () => {
console.log('server running at http://127.0.0.1');
})
解决中文乱码问题
我们可以使用res.setHeader()方法,有两个参数,都是固定写法
const http = require('http');
const server = http.createServer();
server.on('request', (req, res) => {
// 定义一个字符串,包含中文的内容
const str = `您请求的 URL 地址是 ${req.url},请求的 method 类型为 ${req.method}`;
// 调用 res.setHeader()方法,设置Content-Type 响应头,解决中文乱码问题
res.setHeader('Content-Type', 'text/html;charset=utf-8');
// 将内容响应给客户端
res.end(str)
});
server.listen(80, () => {
console.log('server running at http://127.0.0.1');
});
当我们没有使用res.setHeader()方法,我们的中文则会出现乱码的问题