我从网站开发开始。我查看了几个网站的URL设计,特别是github和堆栈溢出。网址(路线)设计
github上的用户页面的格式为github.com/<username>
(例如github.com/roma1n
)。这让我感到需要仔细保留顶级标识符,即在github中不能有用户explore
,因为github.com/explore
显示了趋势/感兴趣的存储库列表。一旦用户使用有用页面名称的用户名(例如latest
,all
),用户似乎也很难将其扩展。
Stackoverflow似乎走在了相反的路线上,其中用户页面的格式为stackoverflow.com/<numeric id>/<username>
。这似乎增加了地址冗余度,除非允许具有相同昵称的多个用户(例如,通过诸如OpenId之类的其他提供者进行识别时使生活更轻松)。
每个解决方案(和其他明显的解决方案,如example.com/users/<numeric_id>
或example.com/users/<nickname>
)的优缺点是什么?是否有最佳做法或合理的违约?