2009-07-03 163 views

回答

6

我不确定你的前提来自哪里?它看起来像一个人造的例子,这使得很难评论。

一个更好的比较,会是这样的:

http://MySite.com/Project/24/Members/Edit 

至于反对:

http://MySite.com/Projects.aspx?id=24&section=Members&action=Edit 

其中,除其他事项外,实体的层次结构是显而易见的第一个例子(即,一个项目包含成员)。它还表明,您可以使用其他网址与第一个网址(即/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 

我认为,这(或任何类似的建筑,例如,如果你删除帕拉姆名称)遭受人为等级 - 第四在这种情况下,e行为实际上是搜索,而其他一切都只是搜索的一个参数,所以它处于同一层次结构中,而不是某个“子”层次结构。

+0

这是一个真实的例子。见http://stackoverflow.com/questions/1080415/custom-routing-rules-eg-www-app-com-project-35-search-89-edit-89/1080467#1080467 – 2009-07-04 00:45:28

3

不是一个公平的比较。风格可以让你放下GET参数的名字,所以被路由应该读什么样

http://MySite.com/Project/24/32/49 

那实在是一种审美的提高,虽然 - 这既是整洁漂亮,而且更容易输入或读出的人。

+0

该语法的唯一问题是它需要每个参数。如果其中一个参数被省略,路由将会变得混乱。 – 2009-07-04 00:06:57

0

更容易记住。用户更容易记住/ Employee/1来获取员工#1的信息,而不是理解查询字符串。没有理由使用它,但我认为它有一点小小的改进。

3

虽然(由于大多数搜索引擎排名算法没有公开披露),但它被认为具有SEO价值,尽管它主要是人类可读性问题。

1

在这个例子中,它可能不会更好。但一般来说这是一个Search Engine Optimization。这里有一些SEO best practices - 那篇文章...

理想情况下,URL结构应 静态的,并显示在页面是什么 约。一个简单明了的网址 结构对于搜索引擎蜘蛛和人类 生命都更加容易。