Человекопонятный URL: различия между версиями

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
[отпатрулированная версия][отпатрулированная версия]
Содержимое удалено Содержимое добавлено
Нет описания правки
Строка 2: Строка 2:
{{другие значения|ЧПУ (значения)}}
{{другие значения|ЧПУ (значения)}}


'''ЧПУ''' (от жаргонного «человеко-понятный 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>.
'''Семантический 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.

Примечания

  1. Quentin Zervaas. Practical Web 2.0 Applications with PHP. — Apress, 2008-03-11. — С. 5. — 580 с. — ISBN 9781430204756.
  2. 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.
  3. Мэрриотт Дженнифер, Уоринг Элин. SEF URL // Joomla! 3.0. Официальное руководство. — СПб.: Издательский дом "Питер", 2013. — С. 464. — 496 с. — ISBN 9785496006637.
  4. Google Inc. Руководство по поисковой оптимизации для начинающих. — С. 8.
  5. Sefurl — Search Engine Friendly Uniform Resource Locator (нем.).
  6. ЧПУ на PHP. Прочь от ModeRewrite правил. Единая точка входа.

Ссылки