为什么有些URL同时包含数字id和名称?

为什么有些URL同时包含数字id和名称?,url,seo,Url,Seo,我想知道为什么个人资料的链接看起来像: http://stackoverflow.com/users/ID/NAME 不仅仅是: http://stackoverflow.com/users/ID 或者更好: http://stackoverflow.com/users/NAME 可以有两个同名的用户吗?或者一个用户可以有多个名称?我假设仅对名称字符串进行数据库查找比对主键进行数字查找要昂贵,即使名称列已编制索引。然后添加名称,使URL更方便用户和搜索引擎优化。对此有一个明确的定义。如果您

我想知道为什么个人资料的链接看起来像:

http://stackoverflow.com/users/ID/NAME
不仅仅是:

http://stackoverflow.com/users/ID
或者更好:

http://stackoverflow.com/users/NAME

可以有两个同名的用户吗?或者一个用户可以有多个名称?

我假设仅对名称字符串进行数据库查找比对主键进行数字查找要昂贵,即使名称列已编制索引。然后添加名称,使URL更方便用户和搜索引擎优化。

对此有一个明确的定义。如果您希望发生这种情况,uservoice是讨论/投票的合适场所。

最后一个斜杠后面的部分似乎与SEO相关(即,使url更具表现力)。

在我测试的URL上,你可以用你想要的任何东西替换这个部分,它仍然有效。所以url
http://stackoverflow.com/users/37086/othername
仍然指向您的个人资料。

尝试更改或删除名称,看看会发生什么

我认为这只是为了让您的URL告诉您期望的内容,但应用程序并不需要(或实际使用)这些信息


如果我没记错的话,亚马逊在他们的书上也做了类似的事情:他们在URL中有ASIN(他们的内部ID)和书名,但只查找ASIN。

只是猜测:ID允许非常快速地检索配置文件页面显示的数据。该名称仅适用于人类,并被忽略,因为我更容易拒绝你是rkj,我是phihag,而不是你的ID是37086,我的ID是35070。

所有URL都采用ID/描述的形式,其中ID是唯一的,描述是可选的。所以是一样的,也是一样的。检索只使用ID,但当用户/问题/应该找到的内容出现在URL中时,对google排名更好(对人类来说,这更具描述性;-)


顺便说一下,按ID检索要比按这么大的文本字符串检索快。当然,如果有人更改了他们的用户名或问题,URL仍然有效。

你的名字不是唯一的。单击用户并键入Josh,我们有一整页。所以你必须有ID。至于为什么其他人猜测的名字和我的一样好。

为什么查找字符串会很昂贵?如果按id,成本会稍微高一点,但这不应该是一个问题——许多门户网站都在使用这种模式……公平的评论,修改为“更昂贵”。我认为这是一个有趣的答案,适用于更公正的网站。我喜欢如果人的部分改变了,那么正确的页面仍然被提供。