如何理解web路由
路由:URL到函数的映射
URL (统一资源定位符)
举例:路由在生活中如拨打服务电话时,按数字几能做什么样的处理,它就是类似于按键与服务之间的映射关系。
在Express中,路由指的就是客户端发起的请求与服务器端处理方法之间的映射关系。
URL中路由的位置
例如:https://mp.csdn.net/mp_blog/creation/editor?not_checkout=1
https:协议部分
mp.csdn.net:域名部分
mp_blog/creation/editor:文件路径(路由部分:域名之后,?之前)
?not_checkout=1:携带的参数
Web应用程序的执行流程:
在客户端(浏览器)通过 URL 请求服务器
通过 IP:PORT 找到服务器应用
通过 路由 找到对应的处理函数
在处理函数中接收参数,并操作数据库,然后获取数据库的返回结果,向客户端响应
客户端接收到服务端的响应数据
客户端渲染页面
//导入http模块
var http = require('http')
//导入url模块
var url = require('url')
var app = http.createServer(function(req,res){
//设置响应信息的编码格式
res.setHeader('Content-Type','text/html;charset=UTF8')
//url.parse()函数第一个参数是要解析的URL路径信息,参数2为 是否将URL中的参数解析为对象
let path = url.parse(req.url,true)
let pathname = path.pathname
if(pathname === '/stu'){
//路由为stu显示学生信息
res.write('学生信息')
}else if(pathname === '/tea'){
//路由为stu显示教师信息
res.write('教师信息')
}else{
没有路由显示404
res.write('404')
}
res.end()
})
//启动服务器
app.listen(8080,()=>{
console.log('连接成功')
})
切换到stu路由下
切换到tea路由下