V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
crazycookie
V2EX  ›  Python

链接最后是否带"/"

  •  
  •   crazycookie · 2014-10-10 14:12:05 +08:00 · 4726 次点击
    这是一个创建于 3696 天前的主题,其中的信息可能已经有所发展或是发生改变。
    比如:
    www.example.com/node
    www.example.com/node/

    是否算是同一个链接
    如果表示不同链接的话,表达的意义有何不同?
    15 条回复    2014-10-10 19:03:59 +08:00
    leiz
        1
    leiz  
       2014-10-10 14:16:08 +08:00
    两方面看。
    语义上 /node代表资源, /node/代表路径
    但是往往在使用上又要对这个做兼容处理,为了方便用户的使用习惯。

    个人理解。
    typcn
        2
    typcn  
       2014-10-10 14:23:52 +08:00   ❤️ 1
    通常在访问上是相同的

    如果是rewrite 一般 node/ 跳转 node

    如果是目录 node 跳转 node/
    felixzhu
        3
    felixzhu  
       2014-10-10 16:15:22 +08:00
    一般后面有/就是说这是一个集合或者目录吧
    在rest里面
    /api/deals/
    /api/deals/123
    但是一般好像都会把带/的rewrite到没有的,毕竟意义不是很大
    lyragosa
        4
    lyragosa  
       2014-10-10 16:19:24 +08:00
    我的网站统一不带/

    带/直接404

    (其实是我不知道怎么在apache下映射)
    mailunion
        5
    mailunion  
       2014-10-10 16:22:09 +08:00
    对于网址来讲,好像“大”公司写的都会带/
    arbipher
        6
    arbipher  
       2014-10-10 16:28:02 +08:00
    不带。
    URL是a reference to a resource
    https://en.wikipedia.org/wiki/Uniform_resource_locator
    yytsjq
        7
    yytsjq  
       2014-10-10 16:30:00 +08:00
    不是说带 / 的更有利于 SEO 吗?

    带 / 相当于一个目录,不带的相当于一个文件,而目录的权重比文件要高。。
    Sivan
        8
    Sivan  
       2014-10-10 16:45:08 +08:00
    带 / 少一次跳转
    banbanchs
        9
    banbanchs  
       2014-10-10 16:55:13 +08:00
    @Sivan 那只是框架帮你跳转的,例如django
    sandtears
        10
    sandtears  
       2014-10-10 16:56:48 +08:00 via Android
    是否算同一个链接取决于服务器的实现,不同服务器表现不同,就 python-flask 来说是不一样的
    raincious
        11
    raincious  
       2014-10-10 17:55:17 +08:00
    讨论这个问题其实没啥意义,所以好看+统一就好。

    Windows和Linux系统似乎是将Directory和File的名字视为一个标识符处理的,不允许一个目录下出现相同名称,所以按照这个概念(文件系统的目录分隔符/或\)衍生下,其实貌似也差不多?

    不知道有没有RFC规范之类的。
    raincious
        12
    raincious  
       2014-10-10 18:03:11 +08:00   ❤️ 1
    @raincious 不信你看:

    icedx
        13
    icedx  
       2014-10-10 18:58:40 +08:00 via Android
    http://www.example.com/node 表示访问\www\ 下一个名为node 的文件
    http://www.example.com/node/ 表示访问\www\node\ 下的加新文档, 通常由nginx.conf 中的index !@#$%^*; 字段定义(PHP)
    当访问不带反斜杠地址的时候通常是返回一个301 使跳转到带有反斜杠的地址, 前提是目的地址是一个目录.
    至于在Python 下, 不是太了解, 至少我知道的是Flask 不会自动跳转.
    tinyhill
        14
    tinyhill  
       2014-10-10 19:02:33 +08:00
    两个问题:
    1. 带 / 的目录权重据说比带 / 的权重高;
    2. 非重写路由情况下,不带 / 需要再请求一次当前目录下的默认索引文件,如 index.html;
    nicai000
        15
    nicai000  
       2014-10-10 19:03:59 +08:00
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   928 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 21:20 · PVG 05:20 · LAX 13:20 · JFK 16:20
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.