一,路由的概念
路由是指客户端请求地址与服务器端程序代码的对应关系,简单的说,就是请求什么,服务器对应地给它响应什么。这种对应关系,就是被通过路由实现的。
实际上,路由就是服务器代码中的一堆判断语句,判断请求是什么,然后分门别类地给对应地请求特定的响应。
二,结合前几节课的内容写一个服务器代码
//1,引入系统模块http
//2,创建网站服务器
//3,为网站服务器对象添加请求事件
//4,实现路由功能:获取客户端的请求方式和请求地址
const http=require('http')
const app=http.createServer()
const url=require('url')
//实际上on是app这个服务器对象的一个方法,需要两个参数
app.on('request',(req,res)=>{
//获取请求方式
const method =req.method.toLowerCase()
//获取请求地址
let {query,pathname}=url.parse(req.url,true)
//对响应报文的格式解析设置,实际上writeHead是res对象的一个方法,它这个方法有两个参数
res.writeHead(200,{
'content-type':'text/html;charset=utf8'
})
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("服务器启动成功")
这就是路由的核心功能 ,根据客户发来的不同请求,从而响应不同的内容。