链接最后是否带"/"

2014-10-10 14:12:05 +08:00
 crazycookie
比如:
www.example.com/node
www.example.com/node/

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

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

如果是rewrite 一般 node/ 跳转 node

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

带/直接404

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

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

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

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

icedx
2014-10-10 18:58:40 +08:00
http://www.example.com/node 表示访问\www\ 下一个名为node 的文件
http://www.example.com/node/ 表示访问\www\node\ 下的加新文档, 通常由nginx.conf 中的index !@#$%^*; 字段定义(PHP)
当访问不带反斜杠地址的时候通常是返回一个301 使跳转到带有反斜杠的地址, 前提是目的地址是一个目录.
至于在Python 下, 不是太了解, 至少我知道的是Flask 不会自动跳转.
tinyhill
2014-10-10 19:02:33 +08:00
两个问题:
1. 带 / 的目录权重据说比带 / 的权重高;
2. 非重写路由情况下,不带 / 需要再请求一次当前目录下的默认索引文件,如 index.html;
nicai000
2014-10-10 19:03:59 +08:00

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

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

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

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

© 2021 V2EX