Человекопонятный URL: различия между версиями
[отпатрулированная версия] | [отпатрулированная версия] |
Vladis13 (обсуждение | вклад) |
Sunpriat (обсуждение | вклад) Нет описания правки |
||
Строка 2: | Строка 2: | ||
{{другие значения|ЧПУ (значения)}} |
{{другие значения|ЧПУ (значения)}} |
||
''' |
'''Семантический URL''' — URL, который не содержит много дополнительных символов<ref>{{Книга|автор=Quentin Zervaas|заглавие=Practical Web 2.0 Applications with PHP|ссылка=https://books.google.ru/books?id=ARVK2f30-QwC&pg=PA5|ответственный=|издание=|место=|издательство=Apress|год=2008-03-11|страницы=5|страниц=580|isbn=9781430204756}}</ref>, наполненный ключевыми словами, кратко описывающими содержание<ref>{{Книга|автор=Duane Forrester|заглавие=Turn Clicks Into Customers: Proven Marketing Techniques for Converting Online Traffic into Revenue: Proven|ссылка=https://books.google.com/books?id=cgSPqDEGRCMC|ответственный=|издание=|место=|издательство=McGraw Hill Professional|год=2010-01-08|страницы=14|страниц=238|isbn=9780071638685}}</ref>. Также используются названия: clean URL, RESTful URL, user-friendly URL, search engine-friendly URL (SEF URL)<ref>{{Книга|автор=Мэрриотт Дженнифер, Уоринг Элин|часть=SEF URL|заглавие=Joomla! 3.0. Официальное руководство|ссылка=https://books.google.com/books?id=MsLDCwAAQBAJ|ответственный=|издание=|место=СПб.|издательство=Издательский дом "Питер"|год=2013|страницы=464|страниц=496|isbn=9785496006637}}</ref>, человеко-понятный URL (ЧПУ, «У» от жаргонного «урл» - URL). Такой [[URL|веб-адрес]], состоит из читаемых слов, написанных символами таблицы [[ASCII]]. Подразумевается{{кем}}, что веб-адрес не использует [[HTTP#GET|GET]]-параметры в адресной строке [[Браузер|браузера]], кроме случая модификации данных этой страницы или передачи [[Мета-информация|мета-информации]].{{Неоднозначно}}{{значимость факта}} Часто является отображением иерархической структуры [[Каталог (файловая_система)|каталогов]] (папок) и имён ресурса.{{Неоднозначно}}{{значимость факта}} Например: <code>/web/masters/Mithgol/</code>, вместо <code>/c14/3/97/</code>. Компания «Google» подобные адреса называет «'''''простыми'''''»<ref>{{статья|автор=Google Inc|заглавие=Руководство по поисковой оптимизации для начинающих|ссылка=http://static.googleusercontent.com/media/www.google.ru/ru/ru/intl/ru/webmasters/docs/search-engine-optimization-starter-guide-ru.pdf|страницы=8}}</ref>. |
||
== Преимущества ЧПУ == |
== Преимущества ЧПУ == |
Версия от 09:20, 8 июля 2016
Возможно, эта статья содержит оригинальное исследование. |
Семантический URL — URL, который не содержит много дополнительных символов[1], наполненный ключевыми словами, кратко описывающими содержание[2]. Также используются названия: clean URL, RESTful URL, user-friendly URL, search engine-friendly URL (SEF URL)[3], человеко-понятный URL (ЧПУ, «У» от жаргонного «урл» - URL). Такой веб-адрес, состоит из читаемых слов, написанных символами таблицы ASCII. Подразумевается[кем?], что веб-адрес не использует GET-параметры в адресной строке браузера, кроме случая модификации данных этой страницы или передачи мета-информации.[неоднозначно][значимость факта?] Часто является отображением иерархической структуры каталогов (папок) и имён ресурса.[неоднозначно][значимость факта?] Например: /web/masters/Mithgol/
, вместо /c14/3/97/
. Компания «Google» подобные адреса называет «простыми»[4].
Преимущества ЧПУ
«Понятные человеку URL» предполагают сокращение адресов страниц до максимально лаконичных и понятных. Они создают подобие естественной для человека логической структуры данных на сервере, представляя её в виде иерархичной (древовидной) структуры, аналогично файловой системе.
Такие адреса удобней прочитать, понять и воспроизвести. К тому же это помогает ориентироваться в логической структуре сайта, лишь взглянув на вложенность каталогов. Не обязательно переходить на страницу, чтобы узнать, что на ней размещено. В некоторых случаях для того, чтобы пройти на родительские каталоги, необходимо всего лишь стереть до нужного места адрес, а чтобы перейти на главную страницу, стирается всё, кроме доменного имени.
Такие адреса демонстрируются поисковыми системами прямо в поисковой выдаче[5], в том числе по этим адресам происходит поиск ключевых слов.
Реализация на различных серверах
Интерпретацией адресов страниц, как сказано выше, занимается сервер и программное обеспечение сайта. Для каждой серверной реализации есть собственный модуль, реализующий подобную функциональность.
На сервере IIS такая функциональность реализуется бесплатным модулем «URLRewriter». В то же время для сервера Apache существует модуль «mod_rewrite», который настраивается через файл .htaccess.
Например, указав следующий код, веб-мастер сможет в PHP через массив $_SERVER['REQUEST_URI']
получать все переданные параметры, а точкой входа по любому запросу будет index.php[6].
RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php [L,QSA]
В веб-фреймворках (CodeIgniter, Django, Node.js, Ruby on Rails или Zend Framework) веб-сервер не обращается к скрипту, а просматривает специальный файл на предмет настроек указанного пути. Такой путь указывается или регулярными выражениями, или на специальном языке.
Например, в Ruby on Rails, чтобы указать, что при вызове /users/login
будет вызываться метод show
класса users
, а в случае /users/
метод index
класса users
будет следующий код:
Шаблон:Код
В некоторых веб-инструментах подобные конструкции указывать не требуется, и все адреса зависят от метода класса и определяются его названием и количеством аргументов.
Например, так действует Ramaze. При вызове show/id/
, где id — переменная (при этом класс обязательно должен быть контроллером):
Шаблон:Код
Возможные проблемы
- Зачастую ЧПУ удлиняет строку веб-адреса. Излишне длинная строка адреса может быть неудобна как для использования людьми, так и не работать из-за технических ограничений на длину веб-адресов.
- Использование кириллицы в веб-адресе имеет следующий нюанс. Адресация в интернете использует только символы сокращённой версии кодировки ASCII (английские буквы, цифры, и несколько символов). По этой причине другие символы кодируются в представление вида:
%D0%9B
(соответствует букве «Л»). Так, например, «Лук» превратится в%D0%9B%D1%83%D0%BA
.
Примечания
- ↑ Quentin Zervaas. Practical Web 2.0 Applications with PHP. — Apress, 2008-03-11. — С. 5. — 580 с. — ISBN 9781430204756.
- ↑ Duane Forrester. Turn Clicks Into Customers: Proven Marketing Techniques for Converting Online Traffic into Revenue: Proven. — McGraw Hill Professional, 2010-01-08. — С. 14. — 238 с. — ISBN 9780071638685.
- ↑ Мэрриотт Дженнифер, Уоринг Элин. SEF URL // Joomla! 3.0. Официальное руководство. — СПб.: Издательский дом "Питер", 2013. — С. 464. — 496 с. — ISBN 9785496006637.
- ↑ Google Inc. Руководство по поисковой оптимизации для начинающих. — С. 8.
- ↑ Sefurl — Search Engine Friendly Uniform Resource Locator (нем.).
- ↑ ЧПУ на PHP. Прочь от ModeRewrite правил. Единая точка входа.
Ссылки
- Сергей Кокшаров. ЧПУ-адреса - описание, рекомендации, примеры . devaka.ru (27 июня 2012).
- «§ 48. Боремся за чистоту URL», Артемий Лебедев, «ру/Ководство», 23 марта 2000
- «§ 49. Дублирующая навигация», Артемий Лебедев, «ру/Ководство», 22 апреля 2000
- Якоб Нильсен URL as UI (англ.)
- Пол Хоффман The User Interface of URLs (англ.)
- Cool URIs don’t change (англ.)