我最近(在本网站和其他地方)阅读了大量关于“友好 URL”的讨论,但我不确定究竟是什么使 URL “友好”以及为什么我们真的关心(直到某一点) . 插图:
以下是当前大多数 Web 开发人员认为“友好”的 URL 示例:
www.myblog.com/posts/123/this-is-the-name-of-my-blog-post
而这将被认为是“不友好的”(即坏的、尼安德特人的、无知的、愚蠢的):
www.myblog.com/posts.aspx?id=123
我的问题:
- “友好” URL 是否包含有关相关博客文章的重复标识信息?换句话说,一旦你有了帖子的 id (123),为什么还需要标题?这不是违反“不要重复自己”的口头禅吗?
- 就用户而言,URL 的形式有什么不同?用户是否真的手动输入过完整的 URL(当然,除了 TLD 之外)?用户是否曾经查看页面的 URL 来确定该页面的内容?为什么我们在 URL 中需要博客文章的标题?这不就是页面的
<title>
标签和内容的用途吗? - 我经常听到 SEO 是首选“友好”URL 形式的一个原因。为什么搜索引擎蜘蛛会关心 URL?它们不只是爬取页面(以及其中包含的其他页面的链接)的自动化软件吗?如果搜索引擎像其他软件组件(例如数据库访问组件)一样编写,那么 URL 对它们来说只是一个无意义的标识符(类似于关系数据库中的 rowguid)。如果我正在设计一个数据库模式,将上面的“友好”URL 作为表的主键,我会(非常正确地)被咀嚼。
我之前说过“在一定程度上”,因为很明显,URL 可能会失控。这是来自 Amazon.com 的实际 URL,我认为没有任何人会认为他们是“友好的”: