您忘记了 的第三个选项site.com#!blog
。
如果您想获得所有语义,那么问题就变成了“'/' 在 url 中代表什么?”
- 它代表物理目录吗?
[site.com#!blog]
导航文件系统时,文件夹用斜杠分隔。这也是网络上的自然行为,但路由改变了这一点。
- 它是否代表内容的层次结构?
[site.com/#!blog]
郊游介绍了内容的层次结构。查询变量不是问号和 & 符号,而是用斜杠分隔,根据开发人员认为重要的内容创建深层链接结构。
- 它是否代表您的网址中的上下文分离?
[site.com/#!/blog]
Stack Overflow 是我所说的“上下文分离”的一个很好的例子。这个问题的 URL 是 [ http://stackoverflow.com/questions/5414972/hashbang-slash-or-no-slash/
]。问题 ID 和问题标题之间的斜线不存在,因为文件夹中有一个名为5414972
. ID 只有一个问题,5414972
因此层次结构也没有必要。使用斜线来分隔 ID 和名称而不是使用任何其他分隔符(例如连字符、下划线,甚至根本不使用分隔符)是一个有意识的选择。不是斜线的分隔符可能会使这两个变量相似。通过在 hash bang 的两边加上斜线,url 变为:
url prefix > ajax crawling notation > the specific page
而不是
url prefix > ajax crawling notation and the specific page
.
根据您的回答是肯定的(是的,这是主观的),您将得到答案。我认为当我们仍然无法决定如何格式化日期时,试图让全世界就这个标准达成一致有点愚蠢。
至于关于对“哈希爆炸”的怨恨的最后一点评论,我认为您正在想象这一点。当“hash bangs”听起来与“flash bangs”如此相似时,谁会不喜欢它们呢?