Python Tornado 框架在前后端分离时,后端的路由信息表示什么含义?

2020-07-28 13:16:41 +08:00
 kkklebron

最近刚刚开始学习 Tornado 框架,也在熟悉公司的后端源码。不过公司的 web 搭建时是前后端分离的,不太能理解后端的路由信息表示什么含义。譬如以下这行代码

routes = [(r"/message", MessageHandler)]
application = tornado.web.Application(routes, **settings) 

我想知道其中的/message句柄是如何被匹配的呢?

有这样问题的原因是:在我看的视频和文字教程中,这里的匹配式都是与浏览器访问的 url 相关联的。但是在浏览器访问公司网址时,并不会输入这样一种格式的 url 。

因为我的目的是想知道在访问一个页面的过程中,调用了哪些 handler 进行处理。所以这样一下子就不知道该如何入手了,特来向大家请教~

2476 次点击
所在节点    Python
9 条回复
pwli
2020-07-28 13:19:59 +08:00
这个是给前端调用的
kkklebron
2020-07-28 13:28:12 +08:00
@pwli 谢谢解答~那基于此,如果想知道访问某个 url 的过程中,调用了哪些后端提供的 handler,是不是必须要去看前端的源码才可以呢?
DoodleSit
2020-07-28 13:33:30 +08:00
routes 就是一个 mapping,就是一大堆 url 匹配+ 处理的 handler 的集合,
建议你看下什么是 URL,routes 里匹配的的是 path 部分(也可以包含 query )
kkklebron
2020-07-28 13:47:55 +08:00
@DoodleSit 您好,您说的这部分内容我似乎有所了解。例如原帖中 routes 可以对'www.xxxx.com/message'匹配并处理。我的问题就是在访问网页的过程中并不会输入这样一个 url,所以想知道这个 routes 是不是由前端调用的,而不是给用户调用的。
kanezeng
2020-07-28 13:57:14 +08:00
"我的目的是想知道在访问一个页面的过程中,调用了哪些 handler 进行处理"
打开浏览器的开发者工具,看看打开每一个网页的时候浏览器调用了哪些接口就知道了。
DoodleSit
2020-07-28 14:06:32 +08:00
你说的是网页如何发请求?是前端调用的,xmlhttprequest 、axios 、jquery 都可以发
DoodleSit
2020-07-28 14:08:04 +08:00
如何看前端 log 的话,打开 chrome 的控制台,切换到 network,勾选 xhr,然后刷新下网页就能看了
no1xsyzy
2020-07-28 19:27:21 +08:00
上面说的 log 能基本看个大概
完全掌握所有边角情况还是得看前端代码。
如果不接触 JavaScript 的话,提一个看前端代码找网络访问情况的诀窍,
如果前端写得正常,应该会有 *_HOST 这种名字的全大写伪常量,基本盯着使用这个变量的地方就行。
有时会封装一个函数里用上这个变量,那么把这个函数也纳入考量。
pwli
2020-07-28 21:00:55 +08:00
这个是给前端调用的
@kkklebron 是的,或者看开发者工具控制面板

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/693721

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX