前沿:上一章节我们学习了如何创建一个最基本的服务器,这一章节,我们继续沿用前一章节的知识点,进行拓展训练,教大家如何根据不同的url响应不同的html内容,大家可以先思考一下,在看我接下来的步骤。
一、核心实现步骤
① 获取请求的url地址
② 设置默认的响应内容为404 Not found
③ 判断用户请求的是否为/
或/index.html
首页
④ 判断用户请求的是否为/about.html
关于页面
⑤ 设置Content-Type
响应头,防止中文乱码
⑥ 使用res.end()
把内容响应给客户端
二、动态响应内容
server.on('request',function(req,res){
const url = req.url //1.回去请求的url地址
let content = `<h1>404 Not found!</h1>` //2、设置默认的响应内容为404 Not found
if(url === '/' || url === '/index.html'){ //3、用户请求的是首页
content = '<h1>首页</h1>'
}else if(url === '/about.html'){
content = '<h1>关于页面</h1>' //4.用户请求的是关于页面
}
res.setHeader('Content-Type','text/html;charset=utf-8') //5.设置Content-Type响应头,防止中文乱码
res.end(content) //6.把内容发送给客户端
})
运行代码,会展示首页
两个字,其次将地址改为http://127.0.0.1/index.html
也会展示首页
,说明/
和index.html
都会展示首页
我们在将url改为http://127.0.0.1/about.html
,得到关于页面
这几个字
当我们输入除这三个地址以外的url,都会出现404 Not found
我们会发现,根据url的不同,我们会获得不一样的结果
分析:因为我们一开始默认给的404 Not found,然后再去判断的url获取的结果,再根据url的不同再去赋值,所以我们只需要输入不同于if 和if else里面的路径,就会获得404的页面,反之,我们输入if里面的判断,我们就会获得相应的结果。
结尾
文章的最后,希望大家多多练习,虽然简单,但也不要不去手动写一遍,我们下一章节再见,推荐歌曲《医生》