В какой момент заканчиваются "красивые URL" MVC и начинаются "ужасные URL"? - PullRequest
0 голосов
/ 19 августа 2010

Я работаю с ASP.NET MVC, но это действительно относится к любой среде MVC.Я понимаю, что одним из преимуществ MVC-фреймворка является создание "симпатичных" URL-адресов.Пока что мое маленькое приложение было простым, и большинство маршрутов используют обычное соглашение: controller / action / id.Однако теперь я создал простую страницу, которая будет перенаправлять на действие, основанное на заданном параметре строки запроса:

mysite.com / посетители / поиск? signAction = signin
или
mysite.com/visitors/lookup?signAction=signout

Исходя из веб-форм, эта конструкция естественна и очень распространена, но, боюсь, я не понимаю,Преимущества красивых URL-адресов здесь.

Для моего примера, было бы лучше создать собственный маршрут или оставить его как есть?Каково общее правило, когда заканчиваются пользовательские маршруты и начинаются параметры строки запроса?

Ответы [ 5 ]

4 голосов
/ 19 августа 2010

Во-первых, я бы не сказал, что это как-то связано с MVC. Красивые URL можно / нужно использовать где угодно.

Во-вторых, это действительно зависит от того, как вы используете свои URL. Но большая идея заключается в том, что «красивые URL» НЕ являются заменой параметров запроса.

Как например, ваш

mysite.com/visitors/lookup?signAction=signin

Может / должен? легко перевести на

mysite.com/signin

По сути, идея красивых URL в два раза.

Их основная цель состоит в том, чтобы многие из них были ПАМЯТИ. Идея красивых URL возникла из-за таких чудовищ, как амазонки 2000+.

Их вторичным назначением является SEO. Однако в последнее время многие разработчики начали забывать об этом и вкладывают всевозможные ненужные вещи обратно в свои URL-адреса.

Но я пытаюсь сказать, что

mysite.com/articles/page/2

по сути не красивее

mysite.com/articles?page=2
2 голосов
/ 19 августа 2010

Если вы правильно настроили свои маршруты, это может быть:

mysite.com/visitors/lookup/signin

или просто

mysite.com/visitors/signin

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

1 голос
/ 19 августа 2010

Честно говоря, я хочу сказать, что это зависит от ваших предпочтений, что является большим преимуществом в этом.Эмпирического правила не существует, когда дело доходит до создания чего-либо.Ну, может быть, когда дело доходит до производительности, но в этом случае не нужно беспокоиться об изменении производительности.Лично я бы сказал, создать новый маршрут.Это не так уж сложно и, как вы сказали, это красивые URL.Кроме того, еще одна вещь, которую следует учитывать, может быть скрытой ценностью.Я не совсем уверен в вашем макете кода, но если у вас был скрытый ввод подписи и изменение значения, то вы могли бы просто сделать Request.Form ["signaction"], чтобы получить значение.Надеюсь, это поможет.

0 голосов
/ 19 августа 2010

Основным преимуществом маршрутизации URL на «красивые URL» является поисковая оптимизация и постоянное содержание. Для действия выхода из системы ни один из них действительно не применим. В данном случае это просто эстетическое решение.

0 голосов
/ 19 августа 2010

Мы идем с /session/new => форма входа /session/create POST /session/destroy УДАЛИТЬ выход из системы

...