2008-10-17 46 views
6

哪个更好(对于用户来说,长寿,出于性能,不管是什么)具有:哪一个更好的轨道网站?/{登录}或/用户/ {登录}

HTTP:// {网站}/{登录}例如http://wildobs.com/adam_jack

的http:// {}网站/用户/ {}登录前

优点:

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

缺点前:

  • 不能让用户瓦特/登录匹配的关键字和关键字随着时间的推移可能会增加。

显然这是很重要的,因为所有用户定义的URL都是基于它的,因此得到正确的(或者弄错和坚持)是很重要的。改变它似乎是网站自杀。

缺点(特别是随着时间的推移)是否超过专业人士?

回答

0

个人而言,我会去/用户/ {}登录

使用/ {}登录感觉太像塞满了全局命名空间,而我们都知道全局是坏的;)

7

我会说利弊胜过专业人士,所以去/ user/login over/login。考虑一下stackoverflow,因为它也是MVC:我认为程序编制比较容易,因为知道/ user/blah中的所有内容都会引用用户,而如果不这样做,则必须考虑所有可能性。

例如,在site/foo中,foo可以是用户名,管理页面或其他关键字。如果你把所有东西全部分开,那么处理起来要容易得多,所以你知道如果你看到site/user/foo它总是一个名为foo的用户。

6

你可能会考虑第三种选择:

勘定用户提供单个字符,而不是一个目录,如UNIX。

http://site/~username

这甚至可能导致modrewrite到/用户/用户名,如果这是更方便。

然后,你有短名称,这很容易处理,并且没有任何常规页面将使用该特殊字符。

- 亚当

2

没有与允许用户通过艇员选拔自己的登录以在Web服务器的根任意名称(因为他们可以,如果你使用/ {}登录,而不是/用户/ {登录一个非常重要的问题}):有些名字具有特殊的神奇含义,,这些含义由第三方定义。例如:

  • robots.txt,也被称为“机器人排除标准”,其次是所有行为良好的搜索引擎。
  • favicon.ico,它以Internet Explorer标准开始,后来被其他几个浏览器采用。
  • 某些网站(至少Google和IIRC雅虎)使用的事实是,您可以在网络服务器根目录中创建一个特殊名称的文件,以证明您是该网站的网站管理员,从而​​允许您访问一些额外的功能(如Google网站管理员工具)。

还有其他几个;我听说过站点地图和文件允许额外的跨域访问,但我(或其他人)无法知道所有这些。

0

从RESTful MVC,我最后一次从Restful Authentication插件中检查示例是会话创建模式。因此,不是登录用户,而是为用户创建会话。在这种情况下,GET http://{site}/session/new将显示登录屏幕和POST http://{site}/session如果认证成功,则正确的参数会将用户登录。

然后,如果您想要,可以为http://{site}/login创建一条新路线,该路线将重定向至http://{site}/session/new。同样DELETE http://{site}/session会将你注销。