1.1路由
http://localhost:3000/index
http://localhost:3000/login
输入不同的请求地址,服务器端就会为客户端响应不同的内容,比如得到首页内容,和登录内容。
在网站应用中有一个路由的概念,通过路由就能做到这个事情。
什么是路由?指客户端请求地址与服务器端程序代码对应的对应关系。简单来说,就是请求什么响应什么。
形成对应关系,就是通过路由实现。
GET /index 响应首页
GET/list 响应列表页
路由
GET/article 响应文章页
GET/login 登录逻辑处理
实现路由的核心代码:
//当客户端发送来请求时
app.on('request',(req,res)=>{
//获取客户端的请求路径
let{pathname}=url.parse(req.url);
if(pathname =='/' || pathname=='/index'){
res.end('欢迎来到首页');
}else if(pathname=='./list'){
res.end('欢迎来到列表页');
}else{
res.end('抱歉,您访问的页面出游了');
}
});
此处缺少了请求方式的判断。
请求地址由谁来决定,由开发人员决定!
开始:
切换到代码编辑器中:
新建文件夹:route新建文件app.js
1.引入系统模块http
2.创建网站服务器
3.为网站服务器对象添加请求事件
4.实现路由功能
4.1获取客户端的请求方式
4.2获取客户端的请求地址
const http=require('http');
const url = require('url');
const app = http.creatServer();
app.on('request',(req,res)=>{
// 获取请求方式
const method = req.method.toLowerCase();
const pathname = url.parse(req.url).pathname;
// 响应报文的处理,解决汉字乱码问题
res.writeHead(200,{
'content-type':'text/html;charset=utf-8'
});
if(method == 'get'){
if(pathname=='/'||pathname=='/index'){
res.end('欢迎来到首页')
}else if(pathname == '/list'){
res.end('欢迎来到列表页')
}else{
res.end('您访问的页面不存在');
}
}else if(method=='post'){
}
});
// 监听端口
app.listen(3000);
console.log('服务器启动成功');
切花到命令行窗口:nodemon app.js
打开浏览器在地址栏中输入:localhost:3000/index
locallhost:3000/list
PS:当前代码中没有写POST请求方式的地址判断,实际上根get是一样的。