对于铁路网站哪个更好?/ {login}或/ user/{login}

Ada*_*ack 5 url friendly-url namespaces ruby-on-rails

哪个更好(对于用户,对于长寿,对于性能,对于任何事情)具有:

http:// {site}/{login}例如http://wildobs.com/adam_jack

要么

HTTP:// {网站} /用户/ {登录}

前者的优点:

  • 用户感觉更特别.
  • 网址较短.

前者的缺点:

  • 无法让用户登录匹配关键字,关键字可能会随着时间的推移而增长.

显然,这对于正确(或错误并坚持)很重要,因为所有用户定义的URL都基于它.改变它似乎是网站自杀.

缺点(特别是随着时间的推移)是否超过职业选手?

Chr*_*nch 7

我会说缺点超过专业人士,所以请使用/ user/login over/login.考虑stackoverflow,因为它也是MVC:我认为编程更容易知道/ user/blah中的所有内容总是引用用户,而如果你不这样做,你将不得不考虑所有可能性.

例如,在site/foo中,foo可以是用户名,管理页面或其他一些关键字.如果你正确分割所有内容,那么处理起来会容易得多,所以你知道如果你看到site/user/foo它总是一个名为foo的用户.


Ada*_*vis 6

您可以考虑第三种选择:

使用单个字符而不是目录来分隔用户,如在unix中.

HTTP://网站/〜用户名

如果更方便的话,这甚至可以导致对/ user/username的modrewrite.

然后你有简短的名字,很容易处理,你的常规页面都不会使用那个特殊字符.

-亚当


Gre*_*reg 0

就我个人而言,我会选择 /user/{login}

使用 /{login} 感觉太混乱了全局命名空间,而且我们都知道全局变量很糟糕;)