Почему это:

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

Предпочтительнее этого?

http://MySite.com/Project/24?Search=32&Edit=49
-1
Robert Harvey 4 Июл 2009 в 00:15

5 ответов

Лучший ответ

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

Лучшее сравнение будет примерно таким:

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

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

6
Michael Hart 3 Июл 2009 в 23:37

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

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

Однако это действительно эстетическое улучшение - оно выглядит аккуратнее, и его легче печатать или читать кому-то.

3
Steve Cooper 3 Июл 2009 в 20:21

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

3
JoshJordan 3 Июл 2009 в 20:23

В нашем примере это может быть не лучше. Но в целом это поисковая оптимизация. Вот несколько передовых методов SEO - от эта статья ...

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

1
JP Alioto 4 Июл 2009 в 00:22

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

0
Cody C 3 Июл 2009 в 20:23