最近刚刚开始学习 Tornado 框架,也在熟悉公司的后端源码。不过公司的 web 搭建时是前后端分离的,不太能理解后端的路由信息表示什么含义。譬如以下这行代码
routes = [(r"/message", MessageHandler)]
application = tornado.web.Application(routes, **settings)
我想知道其中的/message
句柄是如何被匹配的呢?
有这样问题的原因是:在我看的视频和文字教程中,这里的匹配式都是与浏览器访问的 url 相关联的。但是在浏览器访问公司网址时,并不会输入这样一种格式的 url 。
因为我的目的是想知道在访问一个页面的过程中,调用了哪些 handler 进行处理。所以这样一下子就不知道该如何入手了,特来向大家请教~
1
pwli 2020-07-28 13:19:59 +08:00 via Android
这个是给前端调用的
|
2
kkklebron OP @pwli 谢谢解答~那基于此,如果想知道访问某个 url 的过程中,调用了哪些后端提供的 handler,是不是必须要去看前端的源码才可以呢?
|
3
DoodleSit 2020-07-28 13:33:30 +08:00
routes 就是一个 mapping,就是一大堆 url 匹配+ 处理的 handler 的集合,
建议你看下什么是 URL,routes 里匹配的的是 path 部分(也可以包含 query ) |
4
kkklebron OP @DoodleSit 您好,您说的这部分内容我似乎有所了解。例如原帖中 routes 可以对'www.xxxx.com/message'匹配并处理。我的问题就是在访问网页的过程中并不会输入这样一个 url,所以想知道这个 routes 是不是由前端调用的,而不是给用户调用的。
|
5
kanezeng 2020-07-28 13:57:14 +08:00
"我的目的是想知道在访问一个页面的过程中,调用了哪些 handler 进行处理"
打开浏览器的开发者工具,看看打开每一个网页的时候浏览器调用了哪些接口就知道了。 |
6
DoodleSit 2020-07-28 14:06:32 +08:00
你说的是网页如何发请求?是前端调用的,xmlhttprequest 、axios 、jquery 都可以发
|
7
DoodleSit 2020-07-28 14:08:04 +08:00
如何看前端 log 的话,打开 chrome 的控制台,切换到 network,勾选 xhr,然后刷新下网页就能看了
|
8
no1xsyzy 2020-07-28 19:27:21 +08:00
上面说的 log 能基本看个大概
完全掌握所有边角情况还是得看前端代码。 如果不接触 JavaScript 的话,提一个看前端代码找网络访问情况的诀窍, 如果前端写得正常,应该会有 *_HOST 这种名字的全大写伪常量,基本盯着使用这个变量的地方就行。 有时会封装一个函数里用上这个变量,那么把这个函数也纳入考量。 |