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