Это старомодно использовать строку запроса для идентификатора? - PullRequest
7 голосов
/ 18 января 2010

Мне любопытно, устарела ли использование строки запроса для идентификатора. У нас есть веб-приложение, работающее в сети Net 2.0. Когда мы отображаем детали чего-либо (может быть продуктом), мы используем строку запроса, например, такую: http://www.somesite.com/Shop/Product/Detail.aspx?ProductId=100

Мы используем строку запроса по той причине, что пользователь может сохранить ссылку где-нибудь и вернуться в любое время позже. Я предполагаю, что мы используем переписывание URL рано или поздно, но в то же время я хотел бы узнать ваше мнение. Спасибо. Приветствия, Х.

Ответы [ 6 ]

5 голосов
/ 18 января 2010

Распространенной стратегией является использование идентификатора элемента в URL-адресе в сочетании с некоторыми ключевыми словами, которые описывают элемент.Это хорошо с точки зрения пользователя, потому что они могут легко увидеть, на что ссылается URL, если они сохранят его где-нибудь.Что еще более важно, это полезно с точки зрения SEO (поисковой оптимизации), поскольку поисковые системы будут, как говорят, более высоко оценивать данный URL, если он содержит ключевые слова, которые кто-то ищет.посмотрите этот подход на этом сайте, где идентификатор после «вопросов» используется для запроса к базе данных, а текст предназначен исключительно для пользователей и поисковых систем.более сложный подход, который делает идентификатор похожим на часть пути к папке, зависит от вас.Во многом это вопрос личного вкуса.

4 голосов
/ 18 января 2010

Да, это старомодно!

Однако, если вы думаете об изменении его на реализацию RESTful, как предлагали другие, вам следует продолжать поддерживать старые адреса URL и строки запросов, реализовав перенаправление HTTP 301 для переадресации с URL строк запроса на новый restful URL-адрес. Это гарантирует, что старые ссылки и закладки всех пользователей будут продолжать работать, сообщая ботам поисковой системы об изменении URL-адреса.

Поскольку ваше сообщение помечено ASP.Net, есть хорошая статья о том, как вы можете поддерживать оба, используя новый механизм маршрутизации ASP.Net здесь: http://msdn.microsoft.com/en-us/magazine/dd347546.aspx

3 голосов
/ 18 января 2010

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

2 голосов
/ 18 января 2010

Ничего плохого в параметрах строки запроса. Просто создать и понять. Многие сайты используют причудливые URL-адреса, такие как «www.somesite.com / Shop / Product / white_sox_t_shirt`, которые крутые и удобные для пользователя, но больше работают для нас, бедных разработчиков.

1 голос
/ 18 января 2010

Это не устарело, но другой альтернативный подход - более RESTful подход:

yourwebsite.com / Продукты / 100 / USB-кофеварка

Причина в том, что а) поисковые системы обычно игнорируют любой URL с QueryString (поэтому страница product.aspx? Id = 100 может никогда не индексироваться) и б) наличие имени в URL исключительно для целей отображения, предположительно, помогает SEO а также.

0 голосов
/ 18 января 2010

Постоянные ссылки лучше всего подходят для SEO, а также, что если ваш продукт был перенесен в другую базу данных, а идентификатор продукта нужно изменить?
Я не думаю, что шансы на название продукта будут изменены или производителя. Например, Apple / Iphone не изменится :) Мне кажется, хорошая постоянная ссылка

...