【发布时间】:2023-03-16 01:40:02
【问题描述】:
我想知道为什么指向个人资料的链接看起来像:
http://stackoverflow.com/users/ID/NAME
不仅仅是:
http://stackoverflow.com/users/ID
甚至更好:
http://stackoverflow.com/users/NAME
可以有几个同名的用户吗?或者一个用户可以有多个名字?
【问题讨论】:
我想知道为什么指向个人资料的链接看起来像:
http://stackoverflow.com/users/ID/NAME
不仅仅是:
http://stackoverflow.com/users/ID
甚至更好:
http://stackoverflow.com/users/NAME
可以有几个同名的用户吗?或者一个用户可以有多个名字?
【问题讨论】:
我假设仅对名称字符串进行数据库查找会比在主键上进行数字查找更昂贵,即使名称列已编入索引。然后添加名称以使 URL 对用户和 SEO 更友好。
【讨论】:
为此有一个uservoice request。如果您希望这种情况发生,uservoice 是讨论/投票的正确场所。
【讨论】:
最后一个斜线之后的部分似乎与 SEO 相关(即使网址更具表现力)。
在我测试的网址上,您可以用您想要的任何内容替换该部分,它仍然有效。所以 url http://stackoverflow.com/users/37086/othername 仍然指向你的个人资料。
【讨论】:
尝试更改或删除名称,看看会发生什么。
我认为这只是为了让您的 URL 告诉您预期的结果,但应用程序不需要(或实际使用)该信息。
如果我没记错的话,亚马逊对他们的书做了一些非常相似的事情:他们在 URL 中同时获得了 ASIN(他们的内部 ID)和书名,但只查找 ASIN。
【讨论】:
只是推测:ID 允许非常快速地检索配置文件页面显示的数据。该名称仅适用于人类,因此被忽略了,因为我更容易拒绝你是 rkj 而我是 phihag,而不是你的 ID 是 37086 而我的 ID 是 35070。
【讨论】:
所有 SO-URL 都采用 id/description 形式,其中 ID 是唯一的,描述是可选的。所以/users/12890/arne-burmeister 与/users/12890/huhu 相同,/questions/420380/why-does-the-link-to-the-user-profile-have-both-id-and-name 与/questions/420380/foo 相同。检索只使用 ID,但它对于 google 排名要好得多,当用户/问题/what-ever-should-be-found 出现在 URL 中时(对于人类来说,这更具描述性;-)。
顺便说一句,通过 ID 检索比通过这么大的文本字符串检索要快。当然,如果有人更改了用户名或问题,该 URL 仍然有效。
【讨论】:
您在 SO 上的名字不是唯一的,点击用户并输入 Josh,我们有一整页。所以必须要有身份证。至于为什么别人猜的名字和我的一样好。
【讨论】: