2009-07-03 3 views

ответ

6

Я не уверен, откуда исходит ваше предположение? Это выглядит как искусственный пример, из-за которого сложно комментировать.

Лучше сравнение было бы что-то вроде:

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

В противоположность:

http://MySite.com/Projects.aspx?id=24&section=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 

Я бы утверждать, что это (или любой подобной конструкции, например, если вы удалили имена Param) страдает от искусственной иерархии - th В этом случае действие действительно является поиском, а все остальное является просто параметром поиска, поэтому оно находится в одной иерархии, а не в некоторой «под» иерархии.

+0

Это настоящий пример. См. Http://stackoverflow.com/questions/1080415/custom-routing-rules-eg-www-app-com-project-35-search-89-edit-89/1080467#1080467 –

+0

Вау - вы правы - так как кто-то так или иначе хочет создавать свои URL-адреса! Я действительно думаю, что плакат не хочет этого делать, хотя, если я действительно неправильно понимаю домен. Я не понимаю, почему поиск будет иметь идентификатор. Или почему это будет частью конкретного проекта. Или почему вы хотите его отредактировать. Но я, вероятно, что-то пропустил. В любом случае, я думаю, ваше второе предложение по этой теме, вероятно, то, что они ищут. –

3

Непонятное сравнение. Стиль позволяет уронить имена параметров GET, поэтому Маршрутизованный следует читать что-то вроде

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

Это действительно эстетическое улучшение, хотя - это как аккуратнее вид, и проще набрать или считаны с кем-то ,

+0

Единственная проблема с этим синтаксисом заключается в том, что для этого требуется каждый параметр. Если один из параметров опущен, маршрутизация будет запутана. –

0

Легче запомнить. Пользователю легче запомнить/Employee/1, чтобы получить информацию для сотрудника № 1, а не понимать запрос. Не причина для его использования, но я думаю, что это небольшое улучшение.

3

В основном это проблема правдоподобие человека, хотя (поскольку большинство алгоритмов ранжирования поисковых систем не публикуются публично), считается, что у нее есть и стоимость SEO.

1

В примерном случае это может быть не лучше. Но это вообще Search Engine Optimization. Вот некоторые SEO best practices - из этой статьи ...

В идеале, URL структура должна быть статическими, и выявить, что страница о. Простой и понятный URL-адрес Структура намного проще и для поисковых систем пауков и человека существ.

Смежные вопросы