ГЛАВА 2


Основные функции Web-сайта

 

Наиболее вероятный посетитель — какой он?

Сейчас в Сети часто можно встретить разнообразные таблицы, отчеты, исследования, с той или иной стороны характеризующие так называемого среднестатистического Интернет- пользователя. Информация о пользователях собирается различными способами и с разными целями. Так, при регистрации в системах бесплатной электронной почты зачастую необходимым условием является заполнение более или менее объемной анкеты, в которой у вас спросят многое, если не все: рост, вес, возраст, пол, язык, адрес, как давно вы пользуетесь Интернетом, сколько часов (минут) вы проводите в Сети ежедневно и т. д. Владельцы ресурсов, которые пользуются бесплатным электронным счетчиком посетителей SpyLog (http://spylog.com), имеют свободный доступ к следующей информации о посетителях своего сайта: тип браузера, разрешение экрана, наличие и версия JavaScript, поддерживаемая браузером посетителя, доменный адрес сервера, с которого попал на их страницу посетитель, страна, регион, к которому относится посетитель и многое другое. Причем вся эта информация систематизирована, и можно ознакомиться с отчетами по той или иной интересующей позиции за определенный промежуток времени, а также отследить динамику в течение заданного периода и получить прогноз тенденции изменения ситуации на ближайшее будущее. Все это позволяет опытным создателям интернет-ресурсов выбирать тот или иной сценарий развития сайта, который обеспечивает его успех среди пользователей в Сети. Мерилом этого успеха, естественно, является количество посетителей сайта за определенный промежуток времени, как правило, за день. Считается, что уровень 200 посетителей в день является если не гроссмейстерским, то хотя бы "кандидатским минимумом" и свидетельствует о серьезном подходе создателей сайта к сопровождению своего детища и верному выбору стратегии и тактики развития интернет-проекта в целом.

Существует много других способов сбора информации о пользователях сети Интернет. На Западе широко практикуется оплата за заполнение различных анкет. Встречаются опросы, за участие в которых пользователям предлагается до 50 долларов США (правда, участие в них могут принимать, как правило, жители США и Канады). Инициаторами платных опросов обычно являются крупные компании, заинтересованные в продвижении на рынок средствами электронной коммерции того или иного продукта. И обладание информацией о конъюнктуре рынка в нужной области является ключом к успеху и процветанию. Весьма показательны в данном разрезе последние президентские выборы в США. В течение предвыборного марафона не проходило и дня, чтобы в почтовый ящик одного из авторов не "свалилось" письмо из предвыборного штаба того или иного кандидата, либо от, как они сами себя называли, "независимых исследователей общественного мнения" с предложением высказать свое мнение о том или ином кандидате, а заодно сообщить некоторое количество информации о себе и своем социальном статусе (причем иногда авторам письма, по их словам, было заведомо известно, что автор не житель США). И, как утверждают сейчас авторитетные круги, Буш выиграл выборы во многом благодаря успеху "в Интернете", несмотря на практически тотальный контроль Клинтона за телевидением и административными ресурсами.

Разумеется, при сборе и анализе информации в Интернете нужно учитывать множество моментов. Во-первых, достоверные результаты можно получить только при достаточно большой выборке, иначе говоря, собрав информацию о значительном количестве людей. При этом нужно иметь в виду, что не в каждом случае целесообразно идти на такие затраты. Во-вторых, информация, даваемая пользователем, как правило, имеет низкую степень достоверности. В наш век массовой фобии тотальной слежки, имеющей, правда, под собой веские основания, не каждый готов открыть истинную информацию о себе. Поэтому к информации, даваемой пользователями, нужно относиться довольно скептически. (Полгода назад в Сети одному из авторов попалась статья, где говорилось, что пользователи из СНГ одного Западного интернет- сервиса при ответе на вопрос о суммарном годовом доходе чаще всего выбирали второй пункт — 22—40 тыс. долларов США. Понятно, что средний доход данной категории лиц был гораздо ниже.)

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

Замечание 

Выдержка из описания отчетов сервиса Spylog ©Spylog: "...Ядро аудитории — это количество посетителей, которые посещали сайт в среднем не реже раза в неделю за период не менее двух месяцев. Активная недельная аудитория — это количество пользователей, посетивших сайт не реже трех раз в течение недели".

Как правило, одной из целей существования Интернет-проекта является как можно более полный перевод посетителей из второй категории в первую. Способ формирования суммарного трафика вашего сайта существенно зависит от способа продвижения вами Интернет-проекта в Сети — так называемый "раскрутки". Заметный вклад дают посетители, привлеченные благодаря рассылке рекламной информации средствами электронной почты — в просторечии "спама". Немаловажную роль в привлечении пользователей играет баннерная и внесетевая реклама. (Сегодня на Западе все чаще раздаются мнения, что различные телепрограммы заняты не столько самосовершенствованием, сколько раскруткой собственных Web-сайтов. Можно отметить, что эта тенденция все более ярко проявляется и на нашем телевидении.) Соответственно, тот или иной способ рассчитан на привлечение определенной категории людей.

Наиболее широкой является аудитория у так называемых универсальных порталов — сайтов, объединяющих в себе наиболее общеупотребительные Интернет-сервисы: поиск, каталог ссылок, бесплатную электронную почту, бесплатный или условно-бесплатный, хостинг, новости. Типичными примерами можно считать Яndех.ru, пресловутый Yahoo.com, чемпион Русского Интернета по посещаемости Mail.ru. Далее идут развлекательные сайты, предлагающие посетителям эротику, юмор, анекдоты, новости, online-игры. К этой категории также можно отнести популярные на Западе электронные казино, лотереи, букмекерские и другие сайты, деятельность которых связана с игровым бизнесом. Типичным трафиком бизнес- сайтов компаний, электронных магазинов, сайтов технической поддержки того или иного продукта является несколько сотен или несколько тысяч посетителей в день. Домашние странички пользователей занимают в этом списке низкие позиции: 0..200 посетителей в день. (Разумеется, здесь учитываются истинные посетители, а не результаты накрутки счетчика с целью повышения позиции в рейтинге. Сейчас в Сети можно найти сколько угодно советов по накрутке—и умудренный таким опытом "специалист" без труда продвинет свою домашнюю страничку в первую десятку того или иного рейтинга.) Чем более узкоспециализированным является сайт, тем, обычно, меньшую аудиторию он собирает. Если бы был создан сайт, посвященный решению релятивистского уравнения Шредингера для связанной системы двух скалярных частиц в постоянном электромагнитном поле с потенциалом взаимодействия осцилляторного типа во втором порядке по теории возмущений, то мы бы точно знали фамилии и личные данные практически всех его посетителей, даже не заглядывая в статистику сервера!

Делу время — потехе час. То есть тоже время. Рассчитывая ваш сайт на определенную категорию пользователей, необходимо учитывать временной режим жизненной деятельности человека. Так, например, маловероятно ожидать большого наплыва посетителей на развлекательный сайт в утренние и обеденные часы, когда люди заняты на непосредственной работе. То же самое в меньшей степени относится к работе online-магазинов. Временные рамки для сайтов, имеющих аудиторию на просторах необъятной матушки-России, правда, размываются благодаря большому количеству разных часовых поясов, однако временной ритм, задаваемый жителями крупных городов Европейской части, все же заметен. Тенденция к определенной суточной зависимости трафика более заметна для сайтов, имеющих аудиторию, находящуюся в пределах, ограниченных одним-двумя часовыми поясами (например, Белоруссия). Западные бизнес-сайты должны определенно вписываться в расписание и ритм крупных бирж. Если же над областью ваших стратегических интересов никогда не заходит солнце — ждите посетителей в любое время суток.

Временное дифференцирование трафика накладывает требования на максимальную пропускную способность сервера, на котором расположен сайт. Вполне вероятно, что сервер, гарантированно справляющийся с некоторым средним трафиком, может не выдержать кратковременной пиковой нагрузки. Временное распределение трафика также следует учитывать и при проведении системных и технических работ на сервере или сайте. Владельцу электронного магазина было бы неприятно, если бы пользователь, планировавший совершить покупку тысяч на пять долларов США, увидел в окне своего браузера подобный хит всех времен и народов (рис. 2.1).

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

Очевидно, что сбор и анализ информации об аудитории сайта позволяет улучшить позиции вашего Интернет-проекта и избежать ошибок в стратегии развития. Много полезной информации может дать простейший банальный счетчик посетителей. Если вдруг интернет-магазин или чат посещает всего несколько посетителей в день, то стоит задуматься о проведении рекламной кампании. По динамике трафика можно судить о действенности тех или иных усилий в продвижении проекта. Неоценимую помощь в развитии одного сайта в свое время одному из авторов оказал счетчик SpyLog. Благодаря анализу информации по типам браузеров пользователя, видеорежимам, версиям JavaScript, одному из авторов удалось избежать излишних затрат времени на поддержку совместимости сайта с редкими версиями программного обеспечения. Здесь была использована концепция (во многом, честно говоря, спорная), о том, "что нельзя угодить всем, достаточно угодить большинству". И она оправдала себя в пределах прилагавшихся усилий.

Рис. 2.1. Ошибка. Сервер временно недоступен

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

 

Планируем интерактивные службы

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

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

К интерактивным службам, в первую очередь, следует отнести, как ни странно, возможность обратной связи с разработчиками сайта — ссылка на почтовый ящик Web-мастера или иного ответственного за проект лица прочно вошла в дизайн практически всех страниц. Благодаря обратной связи предоставляется возможность:

Другим распространенным сервисом является многоязыковая и мультисистемная поддержка. Если аудитория вашего сайта охватывает несколько стран, то без многоязыковой поддержки не обойтись. (Представляем мучения канадских Web-мастеров. Им наверняка ведь приходится делать две версии сайта — на французском и английском языках.) Весьма важной была в свое время и мультисистемная поддержка, т. е. поддержка различных версий разных браузеров, а зачастую и различных операционных систем. Особенно остро вопрос стоял по поводу разной кодировки кириллицы — встречались зачастую сайты, оформленные в "универсальной кодировке" (univer-sal'noy kodirovke) или имеющие несколько версий для Win-, Dos- (KOI-8x), Mac- и других кодировок. С развитием программного обеспечения, в первую очередь браузеров, и постепенным эволюционным вымиранием старого ПО, острота данного вопроса несколько сгладилась. Microsoft Internet Explorer 5.хх, например, в подавляющем большинстве случаев успешно производит перевод текстовой информации в той или иной кодировке в удобочитаемый вид. Если учесть, что в пределах Рунета (Российского Интернета—от названия домена ш и сокращения net, network — сеть) 77% пользователей имеют именно этот браузер, то, очевидно, что потребность в мультисистемной поддержке в настоящее время низка. Другим фактором, учет которого требует мультисистемной поддержки, является совместимость различных версий браузеров, поддержка скриптов или тех или иных Интернет-технологий (CSS, Macromedia Flash и т. д.).

Анкеты (рис. 2.2), опросы, гостевые книги и форумы составляют еще одну разновидность интерактивных служб.

Рис. 2.2. Регистрационная анкета на www.mail.ru

Гостевая книга позволяет пользователю высказать свои пожелания и замечания относительно того или иного вопроса и может играть важную роль в сборе информации об аудитории сайта. На сегодняшний день многие службы бесплатного хостинга зачастую предлагают вместе с некоторым количеством Мбайт дискового пространства и большим количеством почтовых адресов еще и личную гостевую книгу и/или форум — не говоря уже о службах платного хостинга. Наличие на сайте гостевой книги или форума позволяет более полно составить представление об аудитории сайта, организовать, например, службу технической поддержки или сопровождения продукта. Кроме того, форумы (рис. 2.3) позволяют осуществлять обмен опытом между конкретными пользователями, а также представляют еще один способ диалога между создателями и посетителями сайта.

Чаты, ставшие сейчас бичом учебных заведений и меккой праздных интернет-шатающихся личностей, также относятся к разряду интерактивных сервисов (рис. 2.4). Притягивая огромные количества посетителей (рис. 2.5), они могут стать изюминкой практически любого сайта развлекательной тематики. Аудитория типичных чатов на редкость непостоянна по составу, но, на удивление, стабильна по численности. Это позволяет постоянно поддерживать интерес к вашему сайту на должном уровне.

Рис. 2.3. Форум на www.mail.com

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

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

Рис. 2.4. Начальная страница чата www.zemfira.ru/chat

Рис. 2.5. Основная страница чата www.ngs.ru/chat

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

Рис. 2.6. Пользовательский аккаунт на www.mail.ru

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

 

Рисуем карту сайта

Проводя значительное время в конференциях, посвященных Web-дизайну, мы неоднократно встречали вопросы по поводу карты сайта: "Что такое карта сайта?", "Нужна ли карта сайта и если "да", то зачем?", "Как сделать карту сайта?".

Карта сайта — это один из элементов, один из способов организации Web-сайта и упрощения навигации по нему. Она представляет собой, как правило, отдельный документ, который содержит список ссылок на все (или наиболее важные) HTML-документы Web-сайта (рис. 2.7).

Рис. 2.7. Типичная карта Web-сайта

Зачем же нужна карта сайта?

Представим себе, что вы создали сайт, содержащий определенный объем довольно однородной информации и имеющий сложную иерархическую структуру. Например, сборник электронных статей по нескольким различным темам. Допустим, возникает следующая ситуация: малоопытный пользователь нашел тем или иным способом этот сайт и нужный документ-статью на нем. Тематика сайта удовлетворяет запросам пользователя, и он не против еще раз вернуться на ваш сайт. Однако при следующем посещении сайта, когда пользователь видит его с главной страницы (а запоминается, как правило, URI главной страницы), найти нужный документ довольно затруднительно. Мы и сами раньше попадали в подобную ситуацию, неоднократно блуждая в "трех соснах" очередного сайта в поисках необходимой, заведомо присутствующей на этом сайте страницы, которую накануне по весьма веским и простительным причинам забывали сохранить или добавить в папку Избранное (Favorites). Закономерным итогом безрезультатных блужданий пользователя по вашему сайту будет его отказ от дальнейших посещений такого неудобного ресурса. Благо за то же время любой поисковик может найти десяток ссылок на подобную тематику, среди которых наверняка окажется сайт ваших конкурентов, не менее строго систематизированный, но более удобный в обращении.

Теория и практика подсказывает несколько выходов из создавшейся ситуации.

 

Изменение структуры сайта

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

 

Организация поиска по сайту

Этот метод применяется сравнительно редко, т. к. он сопряжен с использованием специальных скриптов, а зачастую и серверных приложений. Не каждый Web-мастер имеет в своем распоряжении возможность использования подобных скриптов. Сами поисковые скрипты, как правило, трудны в разработке и отладке. Поэтому организация поиска — это в основном уделкрупных сайтов компаний, университетов, учреждений, где большие объемы и сложная структура информации оправдывают затраты на создание и сопровождение систем поиска.

 

Создание карты сайта

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

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

Так должна была выглядеть (см. рис. 2.7) (или выглядела) одна из страниц первого Web-сайта одного из авторов книги. Мы просто уверены, что, путешествуя по сети, вы не раз встречали что-либо подобное.

Основные советы при создании карты сайта следующие:

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

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

3. Структура карты сайта должна соответствовать иерархии самого сайта. Для структурирования карты сайта желательно применение заголовков и списков. Использование таблиц делает процесс написания гораздо более трудоемким.

4. Желательно ссылку на карту сайта расположить на первой или главной странице сайта и оформить ее так, чтобы пользователь мог при необходимости легко ею воспользоваться. Пользователь ни на секунду не должен задумываться, что ему делать, когда он не знает, что делать (извиняемся за тавтологию) дальше, попав на ваш сайт.

 

Выбираем платформу для размещения сайта

После того как вы определились с общей философией проекта, его содержанием, информационным наполнением, набором предоставляемых интерактивных сервисов и служб, осталось выбрать платформу (движущий мотор нашей машины) для реализации идеи.

Существует несколько способов размещения сайта в сети Интернет. Это бесплатный (или условно-бесплатный) хостинг, платный (или профессиональный) хостинг и собственный хостинг. У каждого из способов размещения сайта есть свои преимущества и недостатки. Ситуация с хостингом очень напоминает плакат, висевший на стене в одной из фирм. Надпись на нем гласила: "Мы можем вас обслужить: 1. Быстро. 2. Качественно. 3. Дешево. Выберите любые два пункта".

 

Бесплатный хостинг

Бесплатный хостинг полезен для начинающих Web-мастеров или в начальной стадии развития проекта. Серверов бесплатного хостинга в настоящее время очень много. Отличительной особенностью такого вида хостинга является его бесплатность. Вам будет выделено от 2 до 20 Мбайт под ваши творческие замыслы, разрешено использование Java-, VB-скриптов, SSI, одного или нескольких почтовых ящиков.

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

Доступ к файлам вашего сайта бесплатные службы обычно предоставляют либо через Web-интерфейс, либо через FTP-протокол. На многих бесплатных серверах (ХООМ, например) запрещено даже создание собственных каталогов, и все файлы приходится записывать в один каталог, что создает серьезную трудность для создания сайта.

Широко распространена практика использования условно-бесплатного хос-тинга. Платой в этом случае будет размещение в обязательном порядке на вашем сайте рекламы фирмы-провайдера. Обычно это рекламная страничка в отдельном всплывающем (pop-up) окне, баннер во фрейме или баннер непосредственно на вашей страничке.

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

В завершение рассмотрения этой темы перечислим некоторые службы бесплатного хостинга (преимущественно в пределах СНГ) с указанием их основных особенностей.

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

Замечание 

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

Тем не менее приведем краткий список таких служб.

Платный хостинг

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

Платный хостинг рекомендуется для проектов, прошедших стадию становления и переживающих фазу "бурного развития". Типичный уровень оплаты зависит от спектра предоставляемых услуг и составляет на сегодняшний день от 5 до 50$ в месяц.

Рассмотрим типичные службы платного хостинга в пределах СНГ и их особенности:

 Замечание 

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

 

Собственный хостинг

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

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

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

В зависимости от вида аппаратной платформы, на сервере используется, как правило, та или иная операционная система. Для IBM PC это:

Для Sun SparcStation и SparcServer характерно применение ОС SunOS или Solaris. При использовании аппаратной платформы Silicon Graphics применяется ОС IRIS.

Несмотря на кажущееся разнообразие, стоит отметить, что сегодня Интернет базируется на двух основных операционных системах — Unix (и его клон Linux) и Microsoft Windows (R) (Windows NT и Windows 2000). Система Unix/Linux имеет несколько более широкое распространение в мире — преимущественно на Западе. Linux объявлена единственной и официальной ОС в Китае и некоторых других странах. Причина популярности Linux на Западе — ее низкая по сравнению с другими системами стоимость (некоторые версии вообще бесплатны), а также наличие открытого исходного кода, что позволяет опытным программистам самим изменять ядро и другие компоненты системы, подстраивая ее под свои нужды. В то же время Unix/Linux славится своей чрезвычайной сложностью, а также более низкой, по сравнению с другими ОС, степенью стандартной защиты от несанкционированных деструктивных действий.

Windows NT и ее современная реинкарнация Windows 2000 имеет меньшее распространение. Высокая стоимость делает ее менее популярной на Западе. (На просторах СНГ этот недостаток не так заметен.) Малая гибкость не позволяет с успехом применять ее при разработке больших серверных систем. В то же время эта система является "родной сестрой" серии систем Windows 9х/МЕ, широко распространенной на персональных компьютерах, что делает ее установку и настройку значительно более легким делом по сравнению с инсталляцией и конфигурированием Linux. И наконец, системы, построенные на основе Windows, имеют большую устойчивость к различным вмешательствам хакеров, вирусов и других вредителей извне.

Замечание 

Здесь стоит несколько задуматься. Отсутствие опубликованного исходного кода делает систему более надежной к попыткам несанкционированного проникновения, но, тем не менее, не гарантирует внутренней безопасности системы. Периодически выявляющиеся "скрытые и незадокументированные возможности" Windows доставляют немало беспокойств пользователям и системным администраторам. Поучительным является недавний скандал с обнаружением в Windows специального "черного хода", лазейки в системе безопасности, созданной якобы программистами фирмы Microsoft предположительно по приказу Агентства Национальной Безопасности США.

Наибольшее распространение в пределах СНГ при реализации корпоративных сетей и других проектов масштаба предприятия получила именно Windows NT/2000.

Кроме операционной системы для создания собственного Web-узла нам нужна еще специальная программа, предназначенная для отображения в Интернет содержимого вашего проекта. Это программа, как и компьютер, на котором она выполняется, называется Web-сервер. Программа-сервер организует доступ из Сети к файлам, составляющим сайт, отвечая на запросы из Интернета и выдавая соответствующую информацию Web-клиентам, в роли которых обычно выступают браузеры пользователей Интернета.

Функции Web-сервера, помимо его основного назначения — обработки запросов клиентов, можно условно разбить на несколько следующих групп:

Web-сервер может вести журнал активности клиентов, записывая Интернет-адреса, время, содержание запроса и другие параметры каждого соединения. Функции защиты, выполняемые программой, имеют несколько уровней:

Еще одна функция Web-сервера — поддержка средств интерактивной работы с клиентом. Самая старая из доступных здесь возможностей — CGI-интерфейс. Сервер выполняет указанное в запросе приложение и передает результат в качестве ответа. Для инициирования CGI необходимо, чтобы в запрашиваемом URL был указан путь до запускаемой программы. ПО Web-сервера вызывает эту программу, передает ей входные параметры и возвращает результаты ее работы, как результат обработки запроса, клиенту. CGI-программой может являться любая программа локальной операционной системы сервера — в двоичном виде или в виде программы для интерпретатора (Basic, SH, Perl, PHP и т. д.). Как уже отмечалось, такая возможность открывает мощное средство для создания динамических (т. е. формируемых в результате выполнения CGI-приложений) HTML-документов и не только их. Кроме того, на основе CGI могут быть созданы все виды упомянутых в этой главе интерактивных служб.

Помимо всего, многие Web-серверы могут осуществлять поддержку работы с наиболее распространенными видами баз данных (например, SQL).

В связи с широким выбором аппаратно-системных платформ имеется большое разнообразие серверных программ. Не все из них получили широкое применение. Перечислим наиболее известные из них:

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

Microsoft Internet Information Server отличается неплохой по всем параметрам производительностью при работе с HTML-документами. Большим плюсом данного продукта является его тесная интеграция с продуктами Microsoft, что делает его наиболее привлекательным при использовании в среде ОС Windows.

US 4.0 представляет Web-мастерам такое мощное средство для разработки, как Active Server Pages (ASP) с транзакциями, которое позволяет приложениям со сценариями и компонентами выполнять многочисленные действия, фиксируя либо сразу все действия, либо вообще ни одного. Это критично для приложений, работающих с базами данных. Имеются интегрированные средства для отладки сценариев и приложений Active Server Pages, которые значительно упрощают разработку приложений ASP.

Microsoft Message Queue Server (MSMQ) предоставляет приложениям простой способ надежно посылать и принимать сообщения по сети — даже в случае, если часть приложения или сети становится недоступной.

Настраиваемые средства управления, гибкие возможности администрирования и средства анализа делают Windows NT Server с IIS 4.0 наиболее легко управляемым Web-сервером. IIS 4.0 включает Microsoft Site Server Express, дающий возможность наблюдать за структурой использования узла и визуализировать структуру узла посредством элементарного анализа файла журнала и материала.

IIS 4.0 поддерживает многочисленные Web-серверы на одном IP-адресе, регулировку полосы пропускания для Web-узла и улучшенные и настраиваемые средства администрирования, позволяя организациям иметь несколько интранет-узлов подразделений или Web-узлов.

Гибкие средства администрирования Web-сервера IIS 4.0 включают Microsoft Management Console (MMC), улучшенное управление, основанное на обозревателе, запуск сценариев из командной строки, а также программируемые интерфейсы для построения пользовательских средств управления.

Управление IIS осуществляется с помощью подключаемого модуля (plug-in) консоли Microsoft Management Console, простой и удобной в использовании, обладающей интуитивно понятным интерфейсом. По сравнению с интерфейсом Enterprise Server и многими другими, пользовательский интерфейс консоли ММС выглядит практически как идеальное средство управления.

IIS 4.0 включает сервер сертификации, тесно интегрированный с моделью безопасности Windows NT Server, что позволяет организациям выпускать цифровые сертификаты Х.509 стандарта Интернета и управлять ими.

Защита от аварий позволяет надежно запускать несколько приложений на Web-сервере. Если одно приложение аварийно завершает работу, то Web-сервер и другие приложения продолжают выполняться, а вышедшее из строя приложение запускается заново по следующему требованию.

Microsoft Internet Information Server в плане производительности несколько превосходит Apache Server. Однако последний обходит изделие Microsoft при работе с приложениями, реализованными посредством механизма CGI, а также при работе со сценариями Perl. Кроме того, Microsoft Internet Information Server имеет еще несколько существенных недостатков: он не очень устойчив при работе в некоторых режимах, и, зачастую во многих ситуациях, требует перезагрузки или иного вмешательства администратора для восстановления работоспособности. Кроме того, как и у других продуктов Microsoft, в нем весьма слабо реализована поддержка платформ, отличных от Windows. Microsoft Internet Information Server снабжен достаточно обширной документацией, правда, довольно запутанной и бесполезной — еще одна фамильная черта Microsoft.

Сервер Apache, согласно данным исследованиям Web-серверов, проведенным фирмой NetCraft (http://www.netscaft.com/survey), способен надежно обслуживать содержимое большинства ныне существующих Web-узлов. Бешеную популярность сервера в мире Интернета легко объяснить. Во-первых, сервер свободно распространяется через Интернет, что в условиях устоявшегося рынка программного обеспечения является немаловажным достоинством. Во-вторых, Apache Server заслужил репутацию самого надежного из имеющихся на данный момент Web-серверов. Довольно трудно создать ситуацию, при которой программа "выбросит белый флаг" (хотя для элитных хакеров "завалить" тот или иной сервер не такая уж и большая проблема, но это тема для отдельного разговора). В-третьих, несколько старомодна система настройки и управления: конфигурирование Apache Server осуществляется посредством редактирования текстовых конфигурационных файлов. Довольно скудна и информация о текущем состоянии Web-сервера.

Большой вклад в расширение возможностей Web-сервера "открытого кода" Apache Server в форме общедоступных серверных модулей внесли его пользователи. Возможно, его главными преимуществами и являются широчайшая поддержка со стороны конечных пользователей, практически универсальная поддержка платформ, быстрота исправления ошибок и короткий цикл разработки конечного Web-приложения. Хотя по мощности и богатству средств Apache Server не может сравниться с продуктами фирм Netscape и Microsoft, но в большом числе конфигураций он удовлетворяет всем требованиям пользователей и при этом поставляется бесплатно.

Для расширения функциональности базового HTTP-сервера Apache Server использует серверные модули, которые могут загружаться динамически во время исполнения запроса или заранее статически компилироваться в двоичный код.

В целом производительность Apache Sewer чуть ниже, чем у серверов фирм Netscape и Microsoft, однако, при работе с CGI Apache Server обходит практически всех своих конкурентов.

Конфигурирование и управление Apache Server практически полностью осуществляется посредством командной строки или через текстовый редактор. Настоящий графический интерфейс для Apache Server обеспечивается на большинстве поддерживаемых платформ, в том числе Solaris, Win32 и Linux, с помощью дополнительных утилит, таких как Comanche. К достоинствам данной программы следует отнести тот факт, что базовый исходный код и заранее откомпилированный бинарный код Apache Server содержат много документации по конфигурированию и примеров. Каждый новый раздел в таком файле предваряется подробным разъяснением предоставляемых опций.

Еще одно преимущество использования Apache Server в качестве промышленного Web-сервера заключается в том, что разработчики обеспечивают его техническую поддержку в интерактивном режиме. Для разрешения возникающих проблем обычно достаточно заглянуть на канал IRC (Internet Relay Chat) или на доску объявлений в Web и задать пару-тройку вопросов. Новые расширения функциональности для продуктов линии Apache Software Foundation появляются почти ежедневно.

Находящиеся сейчас в работе проекты включают:

В Apache Module, начиная с версии 1.3, используется новый метод пакетного конфигурирования (batch configuration), называемый APACI (Apache Autoconf-style Interface), значительно упрощающий процедуру инсталляции и конфигурирования сервера.

Помимо всего вышесказанного, Apache — сервер для Windows обладает важным преимуществом перед многими другими серверами, а именно возможностью в полной мере работать со многими технологиями серверных скрип-тов (РНР, CGI и Perl-скрипты) без применения непосредственно в среде Windows. В то же время отсутствие поддержки ASP не позволяет ему стать поистине универсальным сервером и вытеснить основного конкурента Microsoft US.

В целом, все вышесказанное позволяет при выборе Web-сервера для построения собственного хоста отдать предпочтение продукту Apache Server. Поэтому нелишним будет пара советов будущим пользователям Apache по инсталляции данного сервера.

 

Установка Apache Server

Перед нами стоит задача установки Apache Server для Windows 9x/SE/ME или другой подобной системы. Для начала нам необходимо приобрести дистрибутив. Для версии 1.3 его размер составляет чуть менее 3 Мбайт в случае поставки вместе с исходными текстами и примерно на треть меньше без таковых.

 Замечание 

В последнее время стали распространены дистрибутивы Apache 1.3x для Windows, оформленные в виде MSI-модулей. В этом случае инсталляция производится более корректно, но для нее нужен Microsoft Windows Installer, которого по умолчанию Windows 9х не содержит. Тем не менее, некоторая ручная правка конфигурационных файлов все же нужна.

Далее необходимо выбрать на диске каталог, в котором будет установлен Apache. Обычно, по умолчанию, сервер ставится в каталог x:\usr\iocai \apache, где х: — имя диска. Однако ничто не мешает поместить программу в любом другом каталоге. Это дело вкуса или личных предпочтений пользователя. Главное — не запутаться в дальнейшем при установке и настройке различных компонентов сервера. Все же рекомендуется сохранить стандартное название каталога. Это существенно облегчит установку и настройку, а также работу с различными CGI-приложениями. Поэтому все дальнейшие рассуждения основаны на том, что используется стандартное имя каталога для установки. Если вы настаиваете на собственном имени каталога, то исправьте в дальнейших рассуждениях usr\iocai\apache на новое имя.

Инсталляция Apache Server довольно проста. Запускаем инсталляционный файл. Принимаем лицензионное соглашение, нажав кнопку Yes, а затем кнопку Next. Затем, нажатием кнопки Browse, выбираем каталог для установки: x:\usr\iocai\apache и нажимаем кнопку ОК. Желательно выбрать тип установки Custom, что позволяет более гибко подойти к настройке сервера. Если нет желания разбираться в исходных кодах Apache, то можно убрать флажок Source Code, при этом будет сэкономлено около 3 Мбайт места на диске. Далее нажимаем кнопку Next и ждем, пока отработает программа инсталляции и будут скопированы необходимые файлы. На запрос о перезагрузке компьютера ответьте "Перезагрузить". После перезагрузки Apache Server торжественно объявляется установленным, и вы можете приступить к его настройке. Настройка Apache производится, как уже говорилось выше, путем редактирования текстовых конфигурационных файлов, что, при современном развитии программирования, является довольно-таки архаичным методом.

Войдите в каталог x:\usr\iocai\apache\conf. Откройте находящийся там файл httpd.conf. Это — фактически главный файл конфигурации, который вам осталось настроить. Поэтому очень важно быть внимательным и осторожным при изменении содержимого этого файла. Лучше всего ограничиться изменением рекомендованных ниже строк и во избежание различных недоразумений не менять остальные.

Замечание 

Следует заметить, что в файле httpd.conf каждый параметр сопровождается на первый взгляд маловразумительным комментарием, разобраться в котором довольно тяжело. Поэтому, как рекомендует Д. Кусюк, не обращайте на комментарии особого внимания.

В поле serverAdmin укажите ваш адрес e-mail, который будет показываться в сообщениях об ошибке сервера. Например:

ServerAdmin recycle2000@inbox.ru

В поле ServerName напишите любое слово, это будет имя вашего сервера, например:

ServerName SuperWebServer.

 Важно 

Обязательно раскомментируйте поле ServerName, а именно, уберите символ # перед этим параметром (обычно, по умолчанию он закрыт комментарием). Только в этом случае сервер будет работать.

В поле DocumentRoot укажите тот каталог, в котором будут храниться ваши HTML-файлы, например:

DocumentRoot x:/webpub.

Конечно, при желании можно указать и любой другой каталог. Если он еще не существует, то создайте его.

Найдите блок, начинающийся строкой <Directory/> и заканчивающийся </Directory>. Таким образом, обозначаются блоки опций для заданного каталога и всех его подкаталогов. Этот блок нужно заменить на следующий:

<Directory />,

Options Indexes Includes,

AllowOverride All,

</Directory>.

Таким образом, в этом блоке будут храниться установки для всех каталогов по умолчанию (т. к. это корневой каталог).

Аналогичные действия нужно проделать с блоком <oirectory "x:/usr /iocai/apache/htdocs"> ... </Directory>. Удаляем комментарии и заменяем блок на следующий:

<Directory "x:/webpub">, 

Options Indexes Includes,

AllowOverride All, 

Order allow,deny, 

Allow from all, 

</Directory>.

Мы установили опции для каталога с HTML-документами. Конечно, можно использовать другой каталог, главное, чтобы он совпадал с тем, который прописан в параметре DocumentRoot.

Далее можно изменить имя userDir, например, так:

UserDir x:/home

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

Параметр Directory index является ответственным за индексные или начальные файлы сайтов, которые будут выдаваться сервером в том случае, если при обращении к имени сайта не указан конкретный файл. Обычно в этом параметре пишут:

Directorylndex index.htm index.html default.htm default.html 

Далее рассмотрим параметр:

ScriptAlias /cgi-bin/ "x:/cgi-bin/"

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

ScriptAlias /cgi/ "e:/mycgidir/"

Подобный параметр говорит Apache о том, что, если будет указан путь вида http://host/cgi-bin, то на самом деле следует обратиться к каталогу

e:/mycgidir/.

Теперь следует найти и отредактировать список опций параметров CGI-каталога (если вы установили для него другое имя на предыдущем шаге, то соответственно модифицируйте путь). Список начинается с <Directory "x:/cgi-bin"> и заканчивается тегом </Directory>:

<Directory "x:/cgi-bin">, 

AllowOverride All, 

Options ExecCGI, 

</Directory>.

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

AddHandler cgi-script.bat

Такая настройка говорит Apache о том, что файлы с расширением bat нужно рассматривать как CGI-скрипты.

Далее сохраним изменения. Таким образом, сервер Apache будет настроен, и его можно испытать в работе. Для запуска сервера нажмите кнопку Пуск -> Программы-> Apache Web Server-> Start Apache. На экране возникнет окно, похожее на сеанс MS-DOS или на консоль. Это и есть консоль Apache. Пока она запушена — возможна работа с локальным сервером. Как только сервер Apache станет ненужен, ее можно закрыть.

Если есть желание, то можно, используя возможности Windows, облегчить и упростить запуск сервера. Например, создать ярлык стартового модуля сервера на рабочем столе и назначить ему функциональную комбинацию клавиш. Это делается следующим образом: нажмите правой кнопкой мыши над панелью задач, во всплывающем меню выберите пункт Свойства -> Настройка меню -> Дополнительно, далее выберите ярлык для запуска Apache-сервера и назначьте ему комбинацию клавиш. Таким образом, вы получите быстрый доступ к Apache по этой комбинации.

Реализация виртуальных хостов в Apache

Как и большинство современных Web-серверов, Apache Server имеет поддержку виртуальных хостов. Виртуальные хосты — это хосты (Web-сервер), которые имеют уникальный IP-адрес в Интернете, эмулируются и поддерживаются программой-сервером. Виртуальные хосты весьма нужны при написании и отладке скриптов и CGI-модулей, работающих в рамках разных серверов в Интернете.

Пусть каталог x:/webpub используется для хранения документов и x:/cgi-Ып — для CGI-модулей. Мы хотим создать несколько виртуальных хостов с помощью Apache, например, один с именем server_i и адресом is.o.o.i, а другой с именем server_2 и адресом 13.0.0.2.

Замечание 

Естественно, вместо server_l и server_2 вполне можно указывать конкретные, нужные пользователю имена реальных серверов.

Каждый виртуальный хост, эмулирующий сервер, будет представлен своим подкаталогом в каталоге x:/home с именем, совпадающим с именем сервера. Например, сервер server_i будет храниться в каталоге x:/home/server_i. Все эти каталоги должны существовать на диске, и если их нет, то придется создать. В каталоге виртуального хоста будут находиться каталог document, где будут храниться HTML-документы, каталог cgi для хранения CGI-программ, а также файл access.log с журналом доступа к виртуальному серверу и файл errors.log с журналом ошибок сервера. Каталоги файлов и CGI необходимо создать, если они еще не существуют. Далее, для установки виртуального хоста необходимо сделать некоторые изменения в файле конфигурации Apache httpd.conf, а также внести изменения в конфигурационные файлы Windows.

Откроем каталог x:\usr\iocai\apache\conf и подвергнем редактированию находящийся там файл httpd.conf. В конец файла добавим следующие строки:

#—serverl

<VirtualHost 13.0.0.1>

ServerAdmin webmaster@serverl.com

ServerName server_l

DocumentRoot "x:/home/server_l/document"

ScriptAlias /cgi/ "x:/home/server_l/cgi/"

ErrorLog x:/home/server_l/error.log

CustomLog x:/home/server_l/access.log common

</VirtualHost>

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

Теперь надо немного подправить системный файл hosts, который находится в каталоге, где установлена Windows. Пусть это будет каталог x:\windows \hosts. Если этого файла нет (так бывает иногда), то его можно создать в любом текстовом редакторе, например, "Блокнот". Если файл все же существует, то в нем, скорее всего, будет прописана всего одна строка, отвечающая за локальный хост по умолчанию:

127.0.0.0 localhost

Именно эта строка и задает соответствие имени localhost адресу 127.0.0.0. В принципе, виртуальный localhost — это стандартный хост Windows. Он может функционировать и без этой строки и даже без файла hosts. Для создания нового виртуального хоста надо добавить соответствующую новую строку:

127.0.0.0 localhost 

13.0.0.1 server_l

В результате этого, помимо localhost, на компьютере будет создан еще один . локальный хост со следующими свойствами:

Если возникнет необходимость в создании второго хоста, нужно просто проделать аналогичные действия, заменив параметры, связанные с расположением хоста на диске. При этом необходимо использовать разные IP-адреса для новых хостов (нумерация может быть произвольной или по порядку, как вам нравится или нужно). Желательно, конечно не переопределять адрес главного хоста locaihost, иначе могут возникнуть коллизии в работе Apache. При соблюдении этого правила, главный хост всегда будет доступен по адресу http://127.o.o.o или http://locaihost. Более того, его каталог cgt-bin будет доступен всем созданным виртуальным хостам, так что его можно использовать в процессе работы с этими хостами.

На этом мы завершаем наше знакомство с Apache и серверами вообще.