如何理解URL和路由


1、路由是什么?

路由简单来说就是url到函数的映射 如/books -> getBooks(),当访问/books时,会执行getBooks()函数。通常来说,就是随着浏览器地址的变化,展示给用户不同的页面。

在我的理解来说,路由可以分为前端路由和后端路由。

2、router是什么?

和route的关系 router 可以理解为一个容器,管理一组route。当接收到一个url,就会去路由映射表里查找相应的函数。

3、服务端路由(后端路由)

当服务器接收到客户端发来的请求,会根据请求的URL,来找到相应的函数,然后执行函数,并将函数的返回值发送给客户端。

app.get('/', (req, res) => {
  res.sendFile('index')
})

app.get('/users', (req, res) => {
  db.queryAllUsers()
    .then(data => res.send(data))
})

如上,定义了两条路由:

  访问/,会返回index页面

  访问/users,会返回从数据库查询的user数据

注意:在router匹配route的过程中,不仅会看url,还会看请求方式,如用post方式来访问/users,就找不到正确的路由

4、前端路由

对于前端路由来说,路由的映射函数通常是进行一些DOM的显示和隐藏操作。这样,当访问不同的路径的时候,会显示不同的页面组件。

  • hash模式

  如xxx.com/#xqajla,#xqajla即hash值

  • history模式
  • VUE Router

参考文章:https://zhuanlan.zhihu.com/p/24814675

ps:今天在测试过程中遇到了点击页面未正常跳转至相应地址,发现是路由未变化,打算了解下路由。

原创文章,作者:sunnyman218,如若转载,请注明出处:https://blog.ytso.com/271781.html

(0)
上一篇 2022年7月7日
下一篇 2022年7月7日

相关推荐

发表回复

登录后才能评论