一.详细代码
//1.导入http模块
const http = require('http')
//2.创建web服务器实例
const server = http.createServer()
//3.为服务器实例绑定request事件,监听客户端的请求
server.on('request', (req,res) => {
//req.url客户端请求服务器的地址
const url = req.url
//req.method就是客户端请求服务器的方法类型(例如post/get之类的)
const method = req.method
//使用res.end将想要发送的内容发送给页面(客户端)
res.end(`<h1>当前在访问服务器的url为${url}<h1>`)
})
//4.启动服务器 如果不写端口号默认为80
server.listen(8080, () => {
console.log("server running at http://127.0.0.1:8080")
})
二.运行结果
我们可以看到现在返回页面中的代码为乱码
三.问题解决
//1.导入http模块
const http = require('http')
//2.创建web服务器实例
const server = http.createServer()
//3.为服务器实例绑定request事件,监听客户端的请求
server.on('request', (req,res) => {
//req.url客户端请求服务器的地址 地址为端口号后面的路径
const url = req.url
//req.method就是客户端请求服务器的方法类型(例如post/get之类的)(默认为get请求)
const method = req.method
//使用res.end将想要发送的内容发送给页面(客户端)
//res.end(`<h1>当前在访问服务器的url为${url}<h1>`)
//如果这个时候直接发送到客户端的话会产生乱码,因为发送过去的数据含有中文
//调用res.setHeader()方法,设置请求头为Content-Type响应头,解决中文乱码问题
res.setHeader('Content-Type', 'text/html; charset=utf-8')
//之后再调用res.end()将数据发送过去
res.end(`<h1>当前在访问服务器的url为${url}<h1>`)
})
//4.启动服务器 如果不写端口号默认为80
server.listen(8080, () => {
console.log("server running at http://127.0.0.1:8080")
})