Каковы преимущества использования URL без расширений? - PullRequest
19 голосов
/ 31 января 2010

Каковы преимущества использования URL без расширения?

Например, почему я должен измениться ...

http://yoursite.com/mypage.html
http://yoursite.com/mypage.php
http://yoursite.com/mypage.aspx

до ...

http://yoursite.com/mypage

И возможно ли иметь URL-адреса без расширений для каждой страницы?

Обновление:

Лучше ли URL-адреса без расширений для безопасности сайта?

Ответы [ 6 ]

27 голосов
/ 31 января 2010

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

W3: классные URI не меняются

Расширение имени файла

Это очень распространенный. «cgi», даже «.html» - это то, что изменится. Возможно, вы не используете HTML для этой страницы в течение 20 лет, но вы, возможно, захотите, чтобы сегодняшние ссылки на нее все еще действовали. Канонический способ делать ссылки на сайт W3C не использует расширение ....

Заключение

Сохранение URI таким образом, что они будут существовать через 2, 20, 200 или даже 2000 лет, явно не так просто, как кажется. Тем не менее, во всем Интернете веб-мастера принимают решения, которые в будущем станут для них действительно сложными. Часто это происходит потому, что они используют инструменты, задача которых состоит в том, чтобы представить лучший сайт на данный момент, и никто не оценил, что произойдет с ссылками, когда что-то изменится. Сообщение здесь, однако, заключается в том, что многое может измениться, и ваши URI могут и должны оставаться прежними. Они могут только, если вы думаете о том, как вы их проектируете.

8 голосов
/ 31 января 2010

В основном это делается в эстетических целях.

Существует очень незначительная потенциальная выгода для безопасности (пользователь не сразу знает, на каком языке написан код бэкэнда), но это незначительно.

Связанное сообщение в блоге .

5 голосов
/ 01 февраля 2010

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

Если вы работаете с IIS 7, вы можете переключить AppPool для запуска на интегрированном конвейере, тем самым устраняя необходимость в назначении определенных расширений для механизма ASP.NET. Как только это будет сделано, вы можете указать Sitecore использовать URL-адреса без расширений в настройке web.config (при условии, что Sitecore 6):

<linkManager defaultProvider="sitecore">
  <providers>
    <clear />
    <add name="sitecore" type="Sitecore.Links.LinkProvider, Sitecore.Kernel" 
         addAspxExtension="false"    /* This one is set to true, per default */
         alwaysIncludeServerUrl="false" 
         encodeNames="true" 
         languageEmbedding="asNeeded" 
         languageLocation="filePath" 
         shortenUrls="true" 
         useDisplayName="false" />
  </providers>
</linkManager>

И все готово.

Имейте в виду, что в ранних версиях Sitecore 6 было несколько проблем при запуске Integrated Pipeline. Более подробную информацию можно найти здесь .

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

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

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

Например, в моей библиотеке кодов вы можете указать разрешенный формат вывода URL-адреса с помощью

1) Установка заголовка Accept в заголовке HTTP 2) Прикрепление действительного расширения к URL

Таким образом, код для /my/simple/url.html, /my/simple/url.xml и /my/simple/url.json точно такой же. Диспетчер выходов будет отвечать за вывод содержимого надлежащим образом.

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

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

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

Потому что пользователю не нужно знать технологию за страницей. Пример: domain.com/Programs/Notepad

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

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

...