为什么:
http://MySite.com/Project/24/Search/32/Edit/49
首选?
http://MySite.com/Project/24?Search=32&Edit=49
答案 0 :(得分:6)
我不确定你的前提来自哪里?它看起来像一个人为的例子,很难评论。
更好的比较将是:
http://MySite.com/Project/24/Members/Edit
相反:
http://MySite.com/Projects.aspx?id=24§ion=Members&action=Edit
除其他外,实体的层次结构在第一个示例中是显而易见的(即,项目包含成员)。它还建议您可以使用包含与第一个类似结构的其他URL(即/Projects/24
和/Projects/24/Members
),因此从这个意义上说它更简洁。
如果归结为具有可变数量参数的操作,例如搜索,则使用URL参数是完全正确的,因为这将为您提供更大的灵活性,例如:
http://MySite.com/Projects/Search?name=KillerApp&type=NET
你可以使用第一种风格构建一个URL,但是你没有真正获得任何东西,管理这条路线会增加不必要的开销:
http://MySite.com/Projects/Search/name/KillerApp/type/NET
我认为这(或者任何类似的结构,例如,如果你删除了参数名称)都会受到人为的层次结构的影响 - 这种情况下的行为实际上是搜索,其他一切只是搜索的一个参数,所以它是在同一层次结构中,而不是某些“子”层次结构。
答案 1 :(得分:3)
不是一个公平的比较。该样式允许您删除GET参数名称,因此路由的应该读取类似
的内容http://MySite.com/Project/24/32/49
但这确实是一种美学上的改进 - 它看起来更整洁,更容易打字或读出来。
答案 2 :(得分:3)
它主要是人类可读性问题,虽然(因为大多数搜索引擎排名算法都没有公开披露),但它也被认为具有SEO值。
答案 3 :(得分:1)
在示例中,它可能没有任何好转。但总的来说它是Search Engine Optimization。以下是一些SEO best practices - 来自该文章......
理想情况下,URL结构应该是 静态,并显示页面是什么 关于。一个简单明了的URL 结构对两者都容易得多 搜索引擎蜘蛛和人类 生物。
答案 4 :(得分:0)
更容易记住。用户更容易记住/ Employee / 1获取员工#1的信息而不是理解查询字符串。不是使用它的理由,但我认为这是一个很小的改进。