暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

聊聊 flask 的唯一 url

鸡仔说 2021-06-22
479
from flask import Flaskapp = Flask(__name__)@app.route("/say")def jizaisay():    return "say Hi"@app.route("/shuo/")def jizaishuo():    return "shuo Hi"app.run()
我们运行上面这段代码,在前端测试时发现。@app.route("/say")这部分仅支持以 /say 形式访问。

支持 say 形式访问

不支持 /say/ 形式访问

@app.route("/shuo/") 既支持以 /shuo 又支持以 /shuo/ 形式访问。而当你以 /shuo 形式访问时,你会发现最终的结果定位到了 /shuo/ 上。

 /shuo/ 或 shuo 形式最后都重定向到 /shuo/ 上

这是为什么呢?这其中是 flask 保证 url 唯一性的举措。打开终端日志我们会发现,当你以 /shuo 形式进行访问时,其实进行了一次 308 重定向的过程,将 /shuo 转到了 /shuo/ 上,以保证 url 的唯一性。

那你可能要问了,flask 没事吃饱了撑的?为啥要多此一举地做这件事儿?flask 这么做主要是为了避免搜索引擎对同一页面的重复索引。那你又要问了,索引多次又有什么关系呢?不都是可以定位到同一内容吗?是的,没错。但多个 url 定位到同一内容,会造成网站内容重复。
我们换位思考一下,如果你是做搜索引擎的,同一个网站,有大量的重复内容,你会怎么判定该网站的质量呢?显然,网站重复内容多会影响 SEO(搜索引擎优化),从而影响网站的权重。简单地讲,就是同一网站重复内容越多,搜索引擎网站的权重评定越低,越难被浏览器检索到。因此,Flask 保证 url 的唯一性,是非常有必要的。
祝进步!
以上,如果觉得内容对你有所帮助,还请点个「在看」支持,谢谢各位dai佬!



好看的人都点了在看


文章转载自鸡仔说,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论