http模块 创建web服务器,根据不同的 url 响应不同的 html 内容 小demo
1.创建基本web服务器步骤
//导入 http 模块
const http = require("http")
//创建 web 服务器实例
const server = http.createServer()
//使用服务器实例的on方法,为服务器绑定request事件
server.on('request', (req, res) => {
console.log("Hello node http")
//rep为客户端数据,res为服务器端数据
const str = `好巧不巧 Your request url is ${req.url}, and request method is ${req.method}`
//防止中文乱码
res.setHeader('Content-Type','text/html;charset=utf-8')
res.end(str)
})
//启动服务器
server.listen(80, () => {
console.log("htttp server run on http://127.0.0.1:8080")
})
2.根据不同的 url 响应不同的 html 内容(小demo)
2.1需求
获取请求的 url 地址
设置默认的响应内容为 404 Not found
判断用户请求的是否为 / 或 /index.html 首页
判断用户请求的是否为 /about.html 关于页面
设置 Content-Type 响应头,防止中文乱码
使用 res.end() 把内容响应给客户端
2.2实现
const http = require('http')
const server = http.createServer()
server.on('request', (req, res) => {
let defaultThing = "404 Not found"
console.log(req.url)
if (req.url == "/" || req.url == "/index.html") {
defaultThing = "主首页"
}
if (req.url == "/about.html") {
defaultThing = "关于页面"
}
res.setHeader('Content-Type', 'text/html;charset=utf-8')
res.end(defaultThing)
})
server.listen(80, () => {
console.log("http server run at http://127.0.0.1:8080")
})
结果: