По ту сторону Веб-страницы

Признаки вечного начинающего

Характерный признак начинающих веб-мастеров — желание ис­пользовать на сайте все, чему он научился. С одной стороны, это вполне объяснимое желание: желание продемонстрировать свои возможности — всегда в крови творческого человека. С другой сто­роны, это признак глубочайшего непрофессионализма — не в плане отсутствия технических и дизайнерских знаний, а в плане отсутс­твия понимания того, что и когда бывает к месту и не к месту.

1

Проектирование

1. Счастливые часов не выставляют

Вот вопрос, который у меня возникает, наверное, на каждом тре­тьем сайте. Я зашел на сайт саратовского ПАГСа и увидел надпись: «Се­годня 19-10-2006, 11:54». Во-первых, минуту спустя эта надпись стала уже неактуальной. Во-вторых, разве нельзя было написать «Сегодня 19 октября 2006 года»? Преобразование числа в название месяца можно было сделать одной строчкой. И, наконец, в-третьих: вообще, зачем эта надпись? У меня разве нет часов на компьютере, на руках и на мобиль­нике? Ставить дату и время на сайт, очевидно нужно только потому, что ее вывод доступен в любом языке программирования.

Дата и время встречаются на сайтах повсеместно: от персональ­ных страниц школьников до сайтов крупных корпораций. По одному этому признаку заметно, какое внимание уделялось проектированию сайта: практически никакого. Иначе места под дату на страницах не ос­талось бы.

Дата и время уместны на сайтах только в одном случае: когда эта информация располагается рядом с подробной и часто обновляемой новостной лентой. В этом случае бывает сравнить, сколько времени прошло со времени последней публикации. Хороший пример — сай­ты, на которых отображаются рыночные и банковские операции, курсы валют, котировки акций и индексы. Подобная информация устаревает очень быстро, и посетителя сайта в этом случае легко сориентировать, поставив рядом с этой обновляющейся информацией фразу, подобную этой: «Вы зашли 13 февраля в 15.45. Состояние фондовой биржи на этот момент:» — и ни в коем случае не ставьте год, если это не сравнение данных за различные периоды разных лет. Не нужно считать посетителя глупее себя. («Где мы? — Москва, Рублевка. — К черту подробности! На каком мы континенте?»)

2. О соответствии стандартам

Не все браузеры поддерживают все стандарты, и, напротив, во многих браузерах можно добиться желаемого в обход стандар­тов. Поэтому стоит ли ставить внизу страниц ссылки на валидаторы, с помощью которых можно проверить, насколько чисто написана эта страничка с точки зрения стандартов?

Когда-то давным-давно, в начале интернетовской эры, когда вспыхнули браузерные войны, было модно ставить на страницах что-то вроде баннеров с логотипами Netscape и Microsoft Internet Explorer и надписями: «Эту страницу лучше просматривать в браузере Netscape», «Оптимизировано под MSIE», «Best viewed with MSIE» и так далее. Не­давно был удивлен, встретив на сайте разработчиков такое:

We^<f <£|

AMSD Ariadna

42

Признаки вечного начинающего

1.5

Удивление — потому что российский (давно заброшенный раз­работчиками) браузер Ariadna умеет очень мало. Его функциональные возможности остались где-то на уровне третьих версий популярных бра­узеров. И надписи, подобные приведенным выше, имели смысл только тогда, когда производители браузеров в гонке вооружений добавляли им новые возможности, не предусмотренные стандартами.

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

Но, по мнению огромного количества разработчиков, назрела другая необходимость: хвастаться тем, что разработчики знают стан­дарты и умеют ими пользоваться. Повсеместно можно встретить сайты с иконками или надписями, свидетельствующими о том, что данный сайт проходит валидацию, то есть проверку корректности кода и его соответствие стандартам. Большинство валидаторов располагается на сайте Www.W3C.Org, что логично.

А теперь подумаем над двумя вещами.

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

Во-вторых, уместно ли хвастаться тем, что по определению долж­но быть? Это равноценно тому, что переводчик в конце каждого пасса­жа, переведенного им с русского на английский, будет говорить:

— I do speak English, — помахивая сертификатом об успешной сда­че экзаменов по языку.

Не ставьте ссылок на валидаторы на своих страницах.

3. Смайлы как символ беспомощности

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

На сайтах дело обстоит сложнее: ведь смайлы возникли именно в интернете. Поэтому стоит ли их использовать — решать вам. Только будьте последовательны и в этом.

4. Послать ссылкой друга

Начинающие веб-мастера обожают ставить на сайты своих дру­зей не текстовые ссылки, а баннеры.

Изначально баннеры использовались в рекламе какого-то про­дукта. В связи с этим для баннеров, которые стали образцами продукции, придумывались идеи, сюжеты анимации, баннеры были оформлены красиво — по шрифтам, цветам, изображениям. Позже от первона­чальной идеи остались только стандартные размеры, нужные тем ди-

Зайнерам, которые изначально на сайтах оставляют поля этих самых стандартных размеров специально под баннеры.

Сейчас почему-то стало стандартом делать так, чтобы на банне­рах обязательно была анимация. Несомненно, это делается только с це­лью привлечения внимания к баннеру, но в этом случае из вида упуска­ются две важные вещи. Во-первых, таких баннеров на странице часто оказывается несколько: они разные по размерам и цветам, анимация проходит с разной динамикой и совсем не синхронно, поэтому такое беспорядочное движение на странице, конечно, привлекает внимание, но очень раздражает. Недаром пользователи активно используют до­полнения к браузерам, которые вырезают из страницы баннеры (ори­ентируясь на стандартные размеры, например, 88 на 31 пиксель) при ее загрузке. Во-вторых, баннеры в очень редких случаях идеально под­ходят под стиль страницы. Иногда, конечно, дизайнеры предоставля­ют один и тот же баннер в виде набора из разных цветов, но это скорее исключение. В итоге страница, «украшенная» баннерами, оказывается эклектичной и безвкусной.

Важно, чтобы разработчик не остался вечно начинающим.

Для этого нужно все время делать простую вещь: анализировать необходимость элементов веб-страницы. Если элемент действитель­но нужен, его нужно использовать без сомнения. Если он не нужен, но субъективно нравится посетителям (нужно спрашивать, тестировать, изучать), тогда его можно использовать. Но если он нужен только как демонстрация собственных возможностей, то использовать его можно только на демонстрационном сайте, назвав его: «А еще я умею.»

1.6. Поле деятельности: доменное имя, хостинг и тестовая площадка

Разрабатывать дизайн сайта можно, в принципе не зная языков HTML и CSS, а ориентируясь только на знание типов верстки, правил композиции, на свой вкус и пожелания заказчика. Макет будущей стра­ницы очень часто остается в графическом формате в виде одного файла и обсуждается, пока договаривающиеся стороны не придут к общему знаменателю. Однако после этого начинаются мелкие сложности.

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

44

Со слэша, символизирующего корневую директорию — чтобы не писать абсолютные пути с названием протокола и именем сервера или чтобы не использовать две точки как символ возврата к родительским дирек­ториям. Однако в общем случае такой подход не сработает, если вы тес­тируете дизайн страниц в обычных директориях: начальный слэш фай­ловая система расценит как букву жесткого диска, например, С: или В:. Естественно, там вашей директории с изображениями нет, если только вы не используете отдельный диск как полигон для тестирования сай­тов. И браузер не будет загружать нужные изображения. Выходов из этой ситуации по меньшей мере два. Во-первых, можно писать фактические адреса изображений (пусть они на время разработки дизайна распола­гаются в директории рядом с HTML-файлом), а затем автоматически поменять все адреса (есть текстовые редакторы, которые поддержива­ют работу функции «Найти и заменить» сразу во многих файлов). Это достаточно «топорный» способ, чреватый неожиданными результатами. Во-вторых, можно использовать отладочный сервер.

Отладочный, или тестовый сервер, — это набор программ, кото­рые позволяют организовывать работу с сайтом на компьютере таким образом, как если бы сайт был загружен на сервер. Поскольку любой компьютер с установленной современной операционной системой мо­жет теоретически являться фрагментом сети, большой или малой, или нескольких сразу, отладочные сервера используют эту возможность и предоставляют доступ к локальным хостам, которые расположены на жестком диске компьютера. Как правило, такие серверы включают в себя уже готовые средства для отладки серверных сценариев (на раз­личных языках) и полноценной работы с ними и с базами данных. Плю­сы такого подхода очевидны — тестовые сервера не едят трафика при бесконечном обращении к сайту в целях отладки, позволяют сразу за­писывать все адреса так, как они будут «звучать» на сайте, при исполь­зовании начальных слэшей в адресах обращаются именно к корневой директории виртуального сервера, а не к корню жесткого диска, поз­воляют на месте отлаживать сценарии и обращения к БД. Наибольшей популярностью среди российских разработчиков пользуется проект «Денвер» (о котором будет рассказано чуть ниже), также достаточно по­пулярен EasyPHP от французских разработчиков. Дистрибутив первого в разных конфигурациях занимает от полутора мегабайтов, дистрибу­тив второго в разных версиях — 11-12 мегабайтов. Кроме того, можно упомянуть BigApache (под сто мегабайтов, в дистрибутив включено все), phpDev, WAMP и другие.

Принцип действия отладочных серверов такой. Сервер запускает­ся как программа, на время действия программы в системе доменных ад­ресов компьютера назначается несколько виртуальных доменов, то есть при запуске в браузере зарезервированного пользователем доменного имени будет запускаться именно «домашняя» копия сайта. Например,

Проектирование

Сервер можно настроить так, чтобы при запросе адреса Www.Yandex.Ru он обращался к одной из директорий на жестком диске, при наличии сце­нариев интерпретировал их, а в браузер выдавал результат обработки.

Рассмотрим в качестве примера сервер «Денвер» (вольное сокра­щение от наименования «Джентльменский набор веб-разработчика», сайт: Www.Denwer.Ru).

В компактный (около 3-4 Мб) дистрибутив включен практичес­ки полноценный сервер Apache, база данных MySQL с онлайновым средством ее администрирования phpMyAdmin, поддержка технологии SSI и языков PHP 4 и Perl (без стандартных библиотек) со множеством модулей (например, mod_rewrite и GD), возможность работы с файлом. htaccess; при желании пакет можно дополнить: библиотеки ActivePerl, PHP версий 3 и 5, ActivePython, язык Parser 3 с поддержкой XML, под­держка БД FireBird и масса других расширений. Кроме того, что есть инсталлятор (система установки пакета), следует отметить, что уже ус­тановленный пакет легко переносим, не оставляет следов в операцион­ной системе, деинсталлируется простым удалением директории с сер­вером и всеми виртуальными хостами, использует отладочную заглушку для работы с письмами, запускается, выгружается и перезагружается щелчком на иконке. В основе работы — система управления виртуаль­ными хостами, основанная на шаблонах. Чтобы создать новый хост, нужно лишь добавить директорию с именем хоста (например, «beatles», «beatles. ru» или «ewytcsxnd» — они все окажутся работоспособными) в каталог «home» (а уже в директории хоста создать «www» и в ней рабо­тать); править конфигурационные файлы не требуется. По умолчанию уже поддерживаются схемы именования директорий многих популяр­ных хостеров; новые можно без труда добавить. «Денвер» внутри пос­троен как аналог юниксоподобной системы: есть директории «home», «etc» и другие. Однако предназначен он именно для Windows: на ней он работает примерно так же, как и под управлением Linux. Из серьезных недочетов, встретившихся разработчикам, использующим «Денвер», можно отметить невозможность работать с правами доступа к фай­лам так же, как в Linux, некоторые ошибки в работе с БД и отсутствие средств обеспечения безопасности. Именно поэтому следует работать с «Денвером» только как с отладочным, тестовым сервером, но не ус­танавливать его в качестве рабочего сервера: об этом предупреждают разработчики, для которых на первом плане — функциональность тес­товой площадки.

Отведя на своем компьютере (желательно не на системном дис­ке) место под сервер, можно избавиться от проблемы тестирования сер­верных сценариев: они все будут прекрасно выполняться после запуска сервера. Можно держать работоспособную резервную копию сайта у се­бя на компьютере (или даже на флэш-брелоке), тестируя и дополняя ее, а потом внося изменения на сайт простым копированием файлов.

46

Отладочный сервер нужен в первую очередь для веб-програм­мистов, но не только. Верстальщикам он также пригодится, да и полно­ценное функционирование сайта можно наблюдать и демонстрировать именно на сервере, а не в обычной директории.

Однако этим дело не ограничивается. У веб-разработчиков давно уже сформировалось такое понятие, как «зоопарк браузеров».

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

Под операционной системой Windows основным браузером, уста­новленным по умолчанию, является Internet Explorer. Последняя выпу­щенная версия на момент написания книги — седьмая, тогда как наибо­лее популярной пока еще остается шестая. Широко также используются версии 5 и 5.5, тогда как четвертая и более ранние почти ушли в про­шлое. (Однако иногда можно встретить и компьютеры с ОС Windows 95, где в качестве браузера установлен Internet Explorer 3.) Кроме Windows, версия Internet Explorer (последняя — пятая) существует для MacOS, но построена она на механизме Tasman, а не Trident. По уровню соответс­твия стандартам в отображении веб-страниц пятый Internet Explorer примерно соответствует шестому Internet Explorer для Windows.

Вторым по популярности на данный момент является браузер Firefox. Ко времени выхода этой книги планируется выпуск третьей версии браузера, хотя посетители сайтов активно пользуются и пер­вой, и второй версиями, а судя по статистическим сводкам, даже теми пре-релизами, которые еще носили название Firebird. Помимо Firefox, построенного на ядре Gecko (один из популярных механизмов чте­ния и отображения веб-страниц), этим механизмом также пользуются современные версии Netscape и некоторые другие браузеры: Mozilla, SeaMonkey, K-Meleon и другие. Несмотря на общие корни, они все же отображают веб-страницы с определенными особенностями, но не на­столько критичными, чтобы для каждой из этих программ приходилось писать отдельные ветки кода. Особняком стоит браузер Netscape до чет­вертой версии включительно: он был построен на механизме, отличном от Gecko, не знал объектной модели документа и некорректно работал с CSS, а кроме того, поддерживал некоторые тэги и методы обращения к элементам веб-страницы, которые не были доступны в других браузе­рах. (Пользоваться им — это примерно то же, что жить в карточном до­мике. Хотя для своего времени это был прорыв и передовая технология.) По традиции некоторые до сих пор пользуются именно этой версией браузера, но год от года их процент, к счастью, снижается, и на данный момент Netscape 4 применяют 0,1% пользователей.

Проектирование

Наконец, есть браузер Opera, в восьмой и девятой версии макси­мально приблизившийся к идеальному соответствию веб-стандартам, тогда как в седьмой версии были существенные недоработки с этой точки зрения, а шестая версия очень ограниченно поддерживала CSS и объектную модель документа. К счастью, браузер Opera пользовате­ли выбирают чаще всего сознательно, а значит, следят за выпуском его новых версий, поэтому приверженцев Opera 5 или 6 сейчас очень мало: статистически чаще всего пользуются последними двумя версиями.

Но ведь кроме системы Windows есть и другие операционные системы, и ими пользуются не так мало людей. В первую очередь это MacOS и разные варианты Linux, хотя некоторые в качестве «настоль­ной» системы используют также FreeBSD (и подобные) и менее распро­страненные системы. Браузеры Firefox (и его разновидности, например, IceWeasel) и Opera в особых сборках используются и на этих системах, и достаточно большим количеством пользователей, хотя в каждой из них есть свои браузеры по умолчанию. Например, в MacOS X в качестве такового используется Safari, а в Linux с графическим рабочим столом KDE — браузер Konqueror.

Оба упомянутых браузера построены на различных модифи­кациях «движка», который называется KHTML. По всей видимос­ти, этот механизм, по коду и особенностям отображения элементов веб-страниц близкий к «движку» Gecko, в ближайшее время получит такое же признание. Во-первых, ведутся работы над браузером Swift специально для системы Windows. Пока он не работает с кирилличес­кими символами (кроме юникода), имеет массу ошибок в отображе­нии и вообще находится на стадии бета-тестирования. Но тот факт, что он имеет ту же основу, что и Safari, авансом делает Swift очень популярным среди веб-дизайнеров. Во-вторых, уже произведен опыт портирования браузера Safari на систему Windows. Результат пока та­кой же, но сам факт получил широчайшую огласку только благодаря тому, что «это сделано в Apple». В системе MacOS X Safari является оптимальным: корректно отображающий страницы браузер с лако­ничным и элегантным интерфейсом.

Какие именно различия в отображении веб-страниц существуют между браузерами, можно прочитать в главе «Браузер для пользователя и веб-дизайнера». Даже при современном положении дел, когда про­изводители абсолютно всех браузеров стремятся привести свои детища к максимальному соответствию стандартам, между программами есть значительные различия. А поскольку далеко не все пользователи удов­летворяются браузерами, установленными в систему по умолчанию, тесты проводить нужно на максимальном количестве экспонатов.

Понятное дело, что все браузеры установить в систему слож­но, хотя к совершенству можно стремиться всегда. Например, по ад­ресу Http://Tredosoft.Com/Multiple_IE можно найти средство для уста-

48

Новки на компьютер сразу нескольких версий Internet Explorer от 3.0 до 6.0 (правда, программа не работает под Windows Vista; по адресу Http://Tredosoft.Com/Multiple_IE?Page=2#Comment-2619 есть указания, как установить Internet Explorer 6 под Windows Vista, где по умолчанию ис­пользуется седьмая версия). Браузеров Opera разных версий можно ус­танавливать произвольное количество — в большинстве случаев они не будут конфликтовать друг с другом. Есть онлайновые средства для тестирования внешнего вида страниц в разных браузерах, например, www. browsershots. org, www. browsercam. com,Www.Browsrcamp.Com.

Достаточно компромиссный подход к кросс-браузерной раз­работке веб-страниц состоит в следующем. Ориентироваться нужно на корректное и полноценное отображение сайта в современных попу­лярных браузерах (Internet Explorer 6, Firefox 2, Opera 8+ для Windows; Safari 2, Camino 1.5 и Firefox 2 для MacOS X; Konqueror 3.5 и Firefox 2 для Linux), нормальное отображение в альтернативных браузерах, схо­жих с перечисленными и устаревающих (Flock, K-Meleon, Mozilla, SeaMonkey, Internet Explorer 5, Opera 7 и другие) и такое отображение для устаревших браузеров (Netscape 4, Internet Explorer 3 и 4, Opera 6), при котором важная информация не теряется и не искажается — пусть будет виден и нормально сверстан хотя бы текст и видны ссылки. По­этому хотя бы большую часть из этих браузеров нужно иметь на своем компьютере, где проводятся тесты.

Итак, рабочая площадка готова. У вас есть сервер, на котором вы будете тестировать сайт (проверять корректность серверного кода, ги­пертекстовые связи, работу Cookies, сессий, запросы к базам данных и т. п.). Есть браузеры, в которых будут тестироваться активные сце­нарии, HTML - и CSS-разметка и внешний вид страниц. Есть удобный текстовый редактор для написания кода, годный для редактирования кода на пяти-шести языках. Есть несколько графических редакторов — векторные и растровые. Есть идеи, вы делаете сайт, он одобряется за­казчиком, и встает проблема размещения сайта.

На этом этапе (который, впрочем, прекрасно может протекать па­раллельно с другими этапами работы над сайтом) нужно обеспокоиться двумя вещами: подбором доменного имени и собственно размещением сайта на хостинг-площадке.

Выбор доменного имени — дело непростое. Если человеческие имена и фамилии могут повторяться, то доменные имена должны быть уникальны.

Доменное имя всегда состоит не менее чем из двух уровней, при­чем нумерация уровней начинается с конца доменного имени: домены первого уровня — это домены. ru, .com, .it, .pl и другие. Изначально сис­тема доменных имен разрабатывалась в США, поэтому домены первого уровня не имели географической привязки. Были коммерческие сай­ты (.com), сайты некоммерческих организаций (.org), образовательные

Проектирование

(.edu) и правительственные (.gov) сайты, сетевые ресурсы (.net) и воен­ные организации (.mil). После расширения интернета и его превраще­ния во всемирную сеть потребовалось разграничивать сайты террито­риально. Так появились домены. ru (Россия), .it (Италия), .fr (Франция), .ua (Украина) и другие. Практически каждое государство обладает по­добным именем первого уровня. Во многих странах наряду с обычными приняты совмещенные доменные имена, например, .co. uk (коммерчес­кий в Великобритании), .co. il (коммерческий в Израиле), .com. ru (ком­мерческий в России), .com. pl (коммерческий в Польше). В последние годы растет количество новых доменных имен, основанных на семанти­ке: .biz (бизнес-сайты), .travel (зона путешествий); долгое время велись споры про необходимость введения доменного имени. xxx для сайтов с эротическим и порнографическим содержанием, однако эта инициа­тива была отклонена.

Пополнение состава доменных имен первого уровня происхо­дит крайне редко, обычно после долгих дебатов. Домены же второго уровня регистрируются пачками ежедневно. Обычно регистрируется доменное имя, так или иначе соотносящееся по звучанию с именем или ником регистрирующего, с названием компании, с деятельностью, с названием продукции. Поскольку количество сочетаний звуков все - таки ограниченно, зачастую очень трудно подобрать нужный домен: он оказывается уже занятым, причем это не исключает того, что им не пользуются. Иногда домены регистрируют, но оставляют за ненадо­бностью. Кроме того, есть явление киберсквоттинга (когда доменные имена, совпадающие по звучанию с именами известных людей или названиями компаний, регистрируются заранее предприимчивыми людьми, а затем продаются тем, кто в них нуждается) и тайпсквоттинга (когда регистрируются доменные имена, похожие на уже существую­щие, в расчете на то, что пользователь ошибется в наборе и увидит море рекламы вместо того, что было нужно — например, yndex. ru), а также просто регистрация полезных доменов (vilka. ru, vodka. ru) на будущее для продажи — все три способа называются простым словом «спеку­ляция». Домены второго уровня обычно регистрируются за плату, пос­редниками часто выступают хостинговые компании (но необязательно: об этом ниже).

Наконец, есть субдомены, они же поддомены, они же домены третьего уровня. Например, в адресе slovari. yandex. ru компонент «slovari» является доменом третьего уровня. Чаще всего на домене второго уров­ня можно разместить неограниченное количество доменов третьего уровня. Дело в том, что их не нужно специально регистрировать у со­ответствующих организаций, а достаточно заказать создание субдомена в панели управления сайтом — а в некоторых случаях достаточно прос­то добавить нужные директории и файлы в директорию «subdomains» на сервере, чтобы субдомен оказался активным.

50

Если вы заказываете услуги хостинга, обычно компании, предо­ставляющие такие услуги, позволяют одновременно заказывать и до­менное имя либо предоставляют возможность привязки домена к зака­зываемому серверу. Это удобно, но не всегда — особенно если вы только тестируете хостинговую площадку и не уверены, что останетесь на ней. Обычная стоимость доменных имен составляет $20 в зоне. ru, $15 в зоне. com и бесплатно в зонах вида. com. ru и. org. ru (возможны исключения) — при заказе хостинга, разумеется.

Однако возможна регистрация доменного имени и без привязки к хостинговой площадке. В Рунете такую услугу предоставляет, напри­мер, онлайновый сервис Www.Nic.Ru — в случае регистрации вам выдается учетную запись на сайте, а после оплаты вы получаете во владение до­менное имя, с которым можно ассоциировать NS-адреса, предоставляе­мые хостером. Например, если вы регистрируете доменное имя на сайте Www.Nic.Ru, а хостинг заказываете на сайте Www.Mchost.Ru, то скорее всего, в специально отведенных полях в учетной записи на Www.Nic.Ru придет­ся написать следующие строки: ns1.mchost. ru и ns2.mchost. ru — в этом случае доменное имя будет ассоциировано с дисковым пространством, предоставляемым хостинг-провайдером. Удобство такого метода в том, что вы являетесь (на целый год) полноправным обладателем доменно­го имени, с которым можете делать все, что угодно. Неудобство — при очередном продлении приходится отдельно оплачивать пролонгацию действия домена и действия хостинга вместо того, чтобы заказывать продление централизованно.

Дело в том, что действие доменного имени не вечно. Его необ­ходимо продлевать ежегодно. Такое правило вполне логично, учитывая, что некоторые доменные имена регистрируются для фирм-однодневок, некоторые — для промо-акций, для которых и года много, некоторые — для освещения актуальных политических событий, а некоторые вообще по ошибке. Спустя год, если не заказать продление действия домена, он окажется свободным. Продление доменного имени обычно стоит де­шевле, чем первый заказ.

Главные требования к доменному имени — оно должно семанти­чески соответствовать тому, о чем (или о ком) будет сайт, и должно быть простым и не очень длинным, чтобы легче было запомнить. Рекорды вроде доменного имени из 38 символов, конечно, хороши, но только ради рекордов. Запоминать проще имена из 5-10 символов. В случае большей длины можно не гнушаться дефисом в составе имени, что­бы визуально части домена разделялись — так они легче запоминают­ся. Избегайте соблазна использовать кириллические доменные имена: выбор среди них пока еще достаточно велик, но человеку с латинской клавиатурой нельзя будет набрать такой адрес. Более того, подобные ад­реса не универсальны для разных браузеров, да и смешивание символов тоже нельзя исключить.

Проектирование

Выбор хостинга по сравнению с выбором доменного имени — дело и более, и менее ответственное одновременно. С одной сторо­ны, хостинг при необходимости можно поменять — перенести файлы и переадресовать домен, — тогда как домен выбирается раз и навсегда (по секрету: посетителю сайта чаще всего не важен ваш выбор хостинг- площадки, потому что сайт у него связан как раз с доменным именем). С другой стороны, при заказе хостинга нужно проверять множество па­раметров. Например, для сайтов среднего размера обычным является такой набор, предоставляемый хостерами:

1. Не менее 100 Мб дискового пространства

2. Неограниченный трафик (по России или вообще)

3. Неограниченное количество субдоменов

4. Поддержка Perl, SSI, PHP 4 и выше

5. Возможность редактирования. htaccess

6. Наличие БД MySQL и системы управления БД типа phpMyAdmin

7. Доступ по FTP

8. Онлайновый файловый менеджер

9. Защищенный доступ

10. Обработка ошибок на собственных страницах

11. Запуск сценариев по времени (cron)

12. Статистика

13. Резервное копирование

14. Неограниченное количество почтовых ящиков и управление

Почтой

15. Панель управления хостингом

16. Отчет о состоянии баланса

17. Скидки при оплате на большой период

Естественно, к этому списку не нужно прибавлять слова «беспе­ребойная работа» и «адекватная техническая поддержка», потому что такие условия должны быть изначально.

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

Если же тарифный план предполагает большее дисковое про­странство и более высокую оплату, то пользователь вправе рассчитывать и на дополнительные возможности. Для некоторых задач могут потре­боваться модули сервера или программы, которые не входят в стандар­тные наборы. Например, программы для корвертации разных форма­тов изображений; БД Firebird или PostgreSQL; языки ASP или Parser.

52

Не всегда эти дополнительные возможности присутствуют, и в связи с этим существует несколько вариантов.

Хостинг сам по себе — это размещение сайта на каком-либо сер­вере, необязательно арендуемом. Есть три основных возможности.

Первая возможность — виртуальный хостинг. В этом случае сайт располагается на сервере компании — хостинг-провайдера (впрочем, хостинг-провайдером может быть и частное лицо), где заказчик аренду­ет определенное дисковое пространство. Компания настраивает сервер определенным образом, и арендующему остается только принять усло­вия, предлагаемые хостинг-провайдером. Впрочем, в большинстве слу­чаев эти условия более чем удовлетворительные. Выше описывался как раз виртуальный хостинг.

Выделенный сервер — это отдельный сервер, предоставляемый заказчику. В зависимости от договора заказчик либо сам конфигуриру­ет сервер, либо поручает это компании, среди серверов которой обслу­живается и данный. В этом случае заказчик получает большую свобо­ду: он не связан условиями стандартных настроек, а может предлагать или устанавливать нужные ему модули и специфическое программное обеспечение. Естественно, аренда выделенного сервера стоит дороже, чем виртуальный хостинг, но при необходимости обслуживать большое количество посетителей (интернет-магазин, поисковая система и т. п.) этот вариант оказывается более удобным.

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

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

В заключение стоит привести небольшой обзор некоторых по­пулярных хостеров.

McHost (mchost. ru) при достаточно больших дисковых объемах, предоставляемых при заказе хостинга, остается недорогим хостером. Условия, предлагаемые компанией, даже превышают стандартный на-

Проектирование

Бор, приведенный выше. Если в начале работы существенным минусом были перебои в работе, то сейчас компанию трудно за что-то упрекнуть. Операционная система — Red Hat Linux.

MTW (mtw. ru) может считаться предпочтительным выбором для тех, кому принципиально важен хостинг на основе операционной системы Windows. К сожалению, не всегда расторопно работает служ­ба технической поддержки. Операционная система, понятное дело, — Windows.

Nthost (nthost. ru) делает специальное разделение — работа с ASP на Windows 2003 Server и работа с PHP и Perl на Linux или FreeBSD. Кро­ме достаточно большого дискового пространства, дешевле остальных хостеров Nthost предлагает зарегистрировать домены.

Peterhost (peterhost. ru) достаточно удобен, хотя панель управления хостингом не лишена недочетов. Регистрация и продление некоторых доменов бесплатны (периодически на счет клиента зачисляется некото­рая сумма, достаточная для оплаты доменного имени). Перебоев в рабо­те почти не замечалось.

Arbatek (arbatek. ru) с увеличением дискового пространства су­щественно повысила цены на хостинг, но он остается качественным. Помимо БД MySQL предлагается БД PostgreSQL. Операционная систе­ма — RedHat Linux.

Masterhost (masterhost. ru) славится своей надежностью и в качест­ве ОС использует RedHat Linux 9, Fedora Core 2 или Fedora Core 4. Сто­имость хостинга нельзя назвать низкой, но качество себя оправдывает. В числе прочего предлагаются выделенные сервера с S0 Гб дискового объема. Клиенты компании получают возможность составлять собс­твенные тарифные планы, свободно комбинируя любые услуги из пред­лагаемого набора.

RBC в числе прочих услуг предлагает и хостинг (hosting. rbc. ru), в том числе выделенные сервера и аренду оборудования. Операцион­ные системы — и Windows, и Unix.

Mastak (mastak. ru) является довольно дешевым хостингом, при этом функциональность предлагается довольно богатая, но варьируется в зависимости от выбранного тарифного плана. При оплате за год пред­лагается доменное имя в подарок.

Multihost (multihost. ru) отличается от другим изначально богатым набором возможностей: например, поддерживаются различные базы данных, а из языков серверного программирования поддерживаются не только PHP и Perl последних версий, но и Python. Старые версии интер­претаторов языков можно получить по запросу. Среди экзотических для хостеров (по крайней мере, для стандартных пакетов) услуг являются поддержка Libxslt (XSLTProcessor), phpPgAdmin, возможность редакти­рования MIME-типов, доступ к системе автоматического резервного копирования данных.

54

Infobox (infobox. ru) — недорогой хостинг с возможностью бес­платного получения доменов и всеми основными возможностями, од­нако версии PHP там не слишком новые — 4.1 и 4.3.

Agava (agava. ru) наряду с платным хостингом предлагает и бес­платный (пользователи расплачиваются рекламой наверху своих стра­ниц). На платном хостинге серверные языки поддерживаются не на всех тарифных планах.

Axer (axer. ru) предлагает удивительно дешевый хостинг и тари­фы с дисковым пространством от 8 мегабайтов. При этом на каждом тарифном плане есть БД MySQL, FTP, SSI, CGI, SSL, Cron, панель уп­равления DirectAdmin, WAP, Perl 5.8, Python, PHP 5.2.3, phpMyAdmin, редактирование. htaccess.

Кроме того, можно отметить хостинг-провайдеров, обитающих по адресам xocmep. ru, e-planet. ru, datasvyazi. ru, netco. ru.

Есть, конечно, и бесплатные хостеры. Среди тривиальных при­меров — narod. ru, by. ru, holm. ru, chat. ru, boom. ru, webhost. ru, newmail. ru и другие. Полностью бесплатного хостинга, конечно, нет: за размеще­ние сайтов приходится терпеть рекламный баннер на своей странице, ограниченную функциональность (например, в большинстве случаев — отсутствие поддержки языков серверных сценариев и баз данных, а так­же связанных с ними технологий). Кроме того, «забесплатно» никто не обещает бесперебойной работы, а на некоторых хостинговых площадках действуют временные ограничения: за отсутствие активности разработ­чика на сайте в течение, допустим, трех месяцев сайт удаляется. Для мно­гих статичных сайтов (на которых прайс-лист меняется раз в полгода, и это все изменения на сайте) такое правило просто недопустимо. Нако­нец, чаще всего бесплатные хостинг-площадки предлагают не доменные имена, а субдомены (то есть имена третьего уровня), а профессиональ­ному сайту просто неприлично носить имя вроде supercompany. narod. ru.

Проект webforfree. ru предлагает бесплатное размещение сай­та на неограниченном дисковом пространстве в доменной зоне. ru — с двумя условиями: чтобы идея сайта заинтересовала администраторов сервера и чтобы на главной странице сайта был размещен небольшой текстовый рекламный блок.

Реклама на сайте — это очень печально для посетителей. Мно­гие люди заходят в интернет по модему, используя драконовские тари­фы, платят за каждый килобайт, а это значит, что они совсем не хотят тратить лишние деньги. Особенно мучительной и неприятной стано­вится реклама на страницах 404 (о них чуть ниже). Избежать рекламы, использовать нужные программные модули и доменные имена второго уровня можно, только арендуя платный хостинг. Для профессиональ­ной работы нужны вложения.

После заказа платного хостинга вы, как правило, получаете логин и пароль к странице управления хостингом. Страница содержит сведе-

Проектирование

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

1. Возможность смены тарифа

2. Регистрация домена

3. Заказ дополнительных возможностей

4. Управление почтой

5. Файл-менеджер

6. Управление базами данных

7. Работа с субдоменами

8. Статистика

9. Работа с логами ошибок

10. Работа с планировщиком

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

Особая возможность доступа по FTP — это возможность менять права доступа к файлам и директориям в режиме реального времени. В операционной системе Windows браузер Internet Explorer позволяет открывать сайт по протоколу FTP как обычные директории, после чего вы можете щелкнуть по имени файла или директории правой кнопкой мыши для появления контекстного меню, выбрать строку «Свойства», а в открывшемся диалоговом окне проставить нужные права доступа.

Права доступа к файлам и директориям — понятие, пришед­шее из операционных систем формата Unix, то есть в первую очередь Linux — потому что на разных сборках именно этой системы основы­ваются популярные хостинг-площадки. Права доступа позволяют опе­рационной системе определить, как обрабатывать запросы на доступ к этим файлам. Существует три типа прав доступа:

1. Read (чтение), сокращенное обозначение — г; файлы с доступом для чтения могут отображаться для пользователя.

2. Write (запись), сокращенное обозначение — w; файлы с доступом для записи могут быть модифицированы пользователем.

3. Execute (исполнение), сокращенное обозначение — х; файлы с доступом для исполнения могут исполняться пользователем как программы.

Эти типы доступа к файлам и директориям настраиваются для трех типов пользователей:

56

1. User (пользователь) — владелец файла.

2. Group (группа) — другие файлы, которые находятся в той же ди­ректории или группе.

3. World (все) — все остальные.

Веб-серверу необходимо читать веб-страницы, чтобы иметь воз­можность отображать их в браузере. Должны быть настроены следую­щие права.

Файлы HTML (а также файлы, включающие HTML-код) и изоб­ражения должны быть доступны для чтения. Настройкой для этого слу­жит 644 (доступ для чтения Пользователю, Группе и Всем; файл может редактироваться Пользователем). Эта настройка устанавливается авто­матически в момент загрузки файлов на сервер.

Все файлы могут быть доступны другим для исполнения. На­стройкой для этого служит 755 (доступ для чтения Пользователю, Группе и Всем, доступ для редактирования Пользователю, доступы для испол­нения Пользователю, Группе и Всем). Эта настройка устанавливается автоматически, на момент создания папки.

Все файлы CGI (все файлы в папке cgi-bin) должны быть доступ­ны другим для исполнения. Настройкой для этого служит 755 (доступ для чтения Пользователю, Группе и Всем, доступ для редактирования Пользователю, доступ для исполнения Пользователю, Группе и Всем). Эта настройка не устанавливается автоматически на момент закачки файлов: необходимо изменить права доступа к файлам вручную.

Таким образом, первая цифра отображает права доступа поль­зователя, вторая — группы, третья — всех остальных (имеются в виду посетители сайта). Чтение кодируется числом 4, запись — 2, а исполне­ние — числом 1. Если сложить эти числа, получится право доступа для определенного типа пользователей. Например, в числе 644 видно, что группе и всем остальным предоставляются только права на чтение фай­ла (4), тогда как владельцу файла — права на чтение и запись (4+2=6).

Та же информация часто бывает представлена в виде буквенных кодов, имеющих в основе обозначения: r (чтение, 4), w (запись, 2), x (исполнение, 1). Отсутствие прав обозначается дефисом. Права досту­па устанавливаются или отображаются девятисимвольным кодом: пер­вые три символа обозначают права для владельца, с 4-го по 6-й симво­лы — для группы, а 7-й, 8-й и 9-й символы — права для всех остальных. Полные права для кого-либо из них, например, обозначаются как rwx, а права только на чтение — как r--. Буквенный аналог обозначения прав доступа 644 — rw-r--r--. Буквенный аналог 755 — rwxr-xr-x (такие права на директорию часто устанавливаются по умолчанию при создании но­вой директории). Если cgi-программа работает с файлами данных (за­писывает в них что-либо), то вполне достаточно поставить на эти файла права доступ 600 (rw ).

Проектирование

Даже если вы не используете динамическую смену прав досту­па серверными сценариями (в PHP, например, используется цифровая запись, но с ведущим нулем, например, 0755), то в панели управления файлами на сайте хостера можно столкнуться с этими обозначениями, а для работы с серверными сценариями и при администрировании сер­вера принципы обозначения прав доступа просто нужно знать.

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

При использовании базы данных необходимо настроить рабо­ту с ней и с помощью собственных сценариев или средств наподобие phpMyAdmin или phpPgAdmin создать нужные таблицы и поля в них.

После этого начинается этап тестирования.

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

Во-вторых, должны отображаться все изображения: пути к ним должны быть правильно прописаны, все изображения должны присутс­твовать на сервере (при пакетной загрузке иногда можно «потерять» часть изображений). То же самое стоит сказать и обо всех остальных связанных файлах: активных сценариях, стилевых таблицах, флэш-ро­ликах, аудиофайлах.

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

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

Если все работает без сбоев, можно торжественно объявлять об открытии сайта.

58

Страница 404 на реконструкции 1.7

По ту сторону Веб-страницы

Словарь

Ботки. Обычно расширения состоят из трех букв (exe, gif, php, mov, bmp, eps, swf, asp, m3u, avi, rtf, txt, zip, cpp), но встречаются также двухбуквенные (js, ai) и четырехбуквенные (html, …

Справочник для внутреннего использования

Навигация есть признание того, что твоя страница далека от иде­ала. Ибо если бы она была близка к нему, зачем бы потребовалось покидать ее? А если ее не требуется покидать, зачем …

Алфавит от Google

Есть такая тестирующаяся поисковая подсистема от Google (Http://Www.Google.Com/Webhp?Complete=1&Hl=En), в которой по введенным первым буквам предлагаются наиболее часто за­прашиваемые слова. Я собрал все первые (наиболее рейтинговые) слова на каждую букву русского …

Как с нами связаться:

Украина:
г.Александрия
тел./факс +38 05235  77193 Бухгалтерия

+38 050 457 13 30 — Рашид - продажи новинок
e-mail: msd@msd.com.ua
Схема проезда к производственному офису:
Схема проезда к МСД

Партнеры МСД

Контакты для заказов оборудования:

Внимание! На этом сайте большинство материалов - техническая литература в помощь предпринимателю. Так же большинство производственного оборудования сегодня не актуально. Уточнить можно по почте: Эл. почта: msd@msd.com.ua

+38 050 512 1194 Александр
- телефон для консультаций и заказов спец.оборудования, дробилок, уловителей, дражираторов, гереторных насосов и инженерных решений.