Мелкие черты вашего сайта

Slash forward
автор: waferbaby и A List Apart
перевод: Александр Качанов

Процесс создания единообразного хорошо организованного сайта сродни постройке дома. Можно быстро примчаться на площадку, прилепить кое-как кирпичи друг к другу, и затем расслабиться, сладко позевывая. А потом, через несколько месяцев, вы будете удивляться, почему у вас течёт крыша, а на ваших гостей с потока валится штукатурка.

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

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

Ваш друг, наклонная черта

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

Давайте посмотрим на пример:

<a href="http://www.somewebsite.com/subdirectory">ссылка</a>

Вроде, все в порядке. В ссылке присутствует "http://", адрес окружен кавычками, закрывающий тег не забыт, и все должны быть счастливы, так?

Не совсем. Процесс перехода по ссылке будет выглядеть примерно так, в зависимости от вашего сервера и настроек:

Броузер: эй, сервер, дай-ка мне "subdirectory".

Сервер: погоди минутку. Сначала я попробую поискать файл с именем "subdirectory"... Гм.. Такого файла нету! Попробую-ка я поискать каталог с именем "subdirectory"? ... А, вот он. Порядок. А в следующий раз, пожалуйста, пользуйся наклонной чертой в конце адреса.

Броузер: Вас понял.

Лишь слегка изменив ссылку на:

<a href="http://www.somewebsite.com/subdirectory/">ссылка</a>

... вы избавитесь от этого диалога. Серверу не придется гадать, что именно вам нужно: файл или подкаталог с именем "subdirectory". Ссылка сама ему об этом скажет.

Неужели это так важно? Важно, потому что:

  1. Мы сами себе делаем услугу, так как это правильный метод написания адреса.
  2. Мы делаем услуг серверу, так как ему меньше придется обращаться к диску.
  3. И, что более важно, мы делаем услугу посетителю, так как ему не придется терять лишние несколько секунд в ожидании, пока сервер сначала будет искать файл, а потом каталог. Ну, а мы с вами знаем, что в web-бизнесе эти несколько секунд - большой, очень большой срок.

Каталоги и файлы

Рассмотрим следующий пример ссылки:

<a href="http://www.somewebsite.com/about.php">О нас</a>

Вообще-то с этой ссылкой все в порядке - в смысле синтаксиса. Также, эта ссылка не создаст никакой дополнительной нагрузки на ваш сайт. Что же с ней не так?

Давайте теперь поговорим о семантике. Я предлагаю изменить ссылку вот так:

<a href="http://www.somewebsite.com/about/">О нас</a>

Почему? Зачем вам тратить время и менять нормальную ссылку, указывающую на файл, на ссылку, указывающую на каталог (виртуальный или реальный)? Очень хорошо, что вы спросили.

а) Расширяемость

Что будет, если компания, в которой вы работаете, решит усложнить (или просто поменять) сайт и воспользоваться другой технологией? Например, заменит движок PHP (about.php) на ColdFusion (about.cfm)?

Если все ссылки будут указывать на каталоги, адрес страницы останется прежним вне зависимости от того, какой программный механизм работает на сайте. Разве это не замечательно? Ссылки целы, и время на их изменение не тратится!

С самого начала постройте продуманную структуру каталогов на сайте, и вы в будущем сами себе будете благодарны.

б) Безопасность

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

Вам даже не надо создавать реальные каталоги на диске. С помощью mod_rewrite (я лично пользуюсь им) вы можете переделывать URL-ы так, как вам будет угодно. Если вы не знаете, что такое mod_rewrite, обратитесь к статье Тилла Квака "Как бороться с URL-ами" из 123 выпуска A List Apart.

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

Успехов.

waferbaby

« назад к списку статей

Rambler's Top100
Rating All.BY
Akavita
Valid XHTML 1.0!