【问题标题】:What difference between URL paths in Flask?Flask 中的 URL 路径有什么区别?
【发布时间】:2018-01-13 22:18:39
【问题描述】:

URL路径有什么区别:

@app.route('/projects')

@app.route('/projects/')

路由路径末尾的slash 是什么意思?在女巫的情况下使用它?

如果我理解正确,它用于服务器文件的绝对和相对路径?对吧?

【问题讨论】:

  • 请参阅documentation 中的唯一 URL / 重定向行为部分
  • 我看过这个,但不明白区别

标签: flask flask-restful


【解决方案1】:

这叫trailing slash

一般trailing slash

  1. https://www.google.com/example/ -> 这是一个目录。

    • 首先,服务器检查目录是否存在。
    • 其次,如果存在,服务器检查默认文件,如index.html
  2. https://www.google.com/example -> 这是一个文件。

    • 首先,服务器检查文件是否存在。
    • 其次,如果没有,请检查具有该名称的目录。

因此,如果您在请求目录资源时指定尾部斜杠,则页面响应速度会略有提高,因为您可以跳过文件检查。

在烧瓶中

  1. @app.route('/projects')

    • 调用/projects/ -> 返回404。
      (Werkzeug 解释为显式规则,因此它不匹配尾部斜杠。)
    • 调用/projects -> 返回200
  2. @app.route('/projects/')

    • 调用/projects/ -> 返回200
    • 调用/projects -> 返回302
      (如果 url 没有,Werkzeug 将重定向)

This article 会有所帮助。

【讨论】:

    猜你喜欢
    • 2021-11-09
    • 1970-01-01
    • 1970-01-01
    • 2015-03-06
    • 2013-04-04
    • 2015-08-05
    • 2018-08-30
    • 1970-01-01
    相关资源
    最近更新 更多