Родерик Смит - Сетевые средства Linux
• Независимые программы подготовки Web-страниц. Единственным назначением этих инструментов является создание HTML-документов. В качестве примеров подобных программ, работающих в системе Linux, можно привести ASHE (http://www.cs.rpi.edu/pub/puninj/ASHE/), August (http://www.lls.se/~johanb/august/), Bluefish (http://bluefish.openoffice.nl)и WebSphere (http://www-4.ibm.com/software/webservers/hpbuilder/). Некоторые из этих инструментов очень просты, другие позволяют выполнять достаточно сложные действия.
Используя специализированные инструменты подготовки Web-страниц, необходимо учитывать, что каждый из них ориентирован на определенный Web-броузер. Поскольку один и тот же документ по-разному выглядит в различных броузерах, Web-страницы, созданные с помощью некоторого инструмента, могут некорректно отображаться посредством ряда клиентских программ.
Особенности создания Web-страниц
Некоторые Web-дизайнеры стараются в полной мере использовать возможности, предусмотренные спецификацией HTML, и создают HTML-документы, напоминающие страницы печатных изданий. Однако использование расширенных средств HTML может стать источником проблем. Дело в том, что предсказать, как тот или иной броузер будет обрабатывать некоторый фрагмент HTML-кода, практически невозможно. Даже предельно простая Web-страница, код которой показан в листинге 20.2, может по-разному выглядеть в различных броузерах. Как было замечено ранее, некоторые броузеры не обрабатывают дескриптор <CENTER>, другие игнорируют атрибут ALIGN в составе заголовка. Шрифт, указанный в документе, будет отображаться только в том случае, если он присутствует на компьютере, на котором выполняется Web-броузер, в противном случае содержимое документа будет воспроизведено с использованием шрифта по умолчанию. Цвет, заданный для отображения Web-страницы, должен сочетаться с цветами, выбранными пользователем. (Одна из ошибок, часто допускаемых Web-дизайнерами, связана с использованием цветов. Если задать цвет фона, не указав при этом цвет для отображения текста, могут возникнуть проблемы при выводе содержимого документа на экран. Предположим, например, что вы задали в документе белый цвет фона. Если при этом пользователь установил по умолчанию отображение белого текста на черном фоне, то прочитать текст документа в окне броузера будет невозможно. В листинге 20.2 заданы цвет фона и переднего плана, но не указан цвет для отображения гипертекстовых ссылок. Это также может стать источником проблем при выводе документа.)
Поскольку броузеры по-разному интерпретируют HTML-код, желательно проверять созданные вами Web-страницы в различных броузерах. Как минимум вы должны выяснить, как отображаются ваши документы в наиболее популярных на сегодняшний день клиентских Web-программах: Netscape Navigator и Microsoft Internet Explorer. По возможности следует проверить качество воспроизведения документа в различных версиях этих броузеров. Следует также учитывать, что в последнее время среди пользователей Linux стали популярны броузеры Mozilla (http://www.mozilla.org, вариант Netscape Navigator, распространяемый в исходных кодах), Opera (http://www.opera.com) и Konqueror (созданный в рамках проекта KDE). Особого внимания заслуживает броузер Lynx (http://lynx.browser.org), отображающий лишь текстовую информацию. Если вы хотите, чтобы ваши Web-страницы были доступны всем пользователям, необходимо протестировать их с помощью данного броузера. Несмотря на то что Lynx в настоящее время практически не используется, он позволяет выявить большинство проблем, которые не очевидны при работе с другими броузерами. Обеспечив воспроизведение Web-страницы посредством клиентской программы, отображающей лишь текст, вы упростите работу с Web-документами пользователей с нарушениями зрения, применяющих синтезаторы речи. Необходимо также учитывать интересы пользователей, работающих с различными операционными системами. В системе Windows наиболее популярным является броузер Internet Explorer, в других системах, например MacOS, BeOS и OS/2, используются и другие клиентские программы. Некоторые из них работают на различных платформах, другие ориентированы на выполнение в конкретной операционной системе.
СоветПросматривая файлы протоколов, вы сможете определить, какие типы броузеров чаще всего применяют пользователи, обращающиеся на ваш Web-узел.
Анализ файлов протоколов
Файлы протоколов — важный источник сведений о работе Web-сервера. Информация, содержащаяся в этих файлах, поможет вам администрировать Web-узел. Файлы протоколов включают информацию о клиентских программах, обращающихся к серверу, о документах, запрашиваемых клиентами, о времени обращений и другие сведения. Для анализа содержимого файлов протоколов вручную требуется много времени и усилий, поэтому большинство администраторов делают это с помощью специализированных инструментов, которые упрощают обработку данных. Наиболее часто для этой цели применяются программы Analog и Webalizer.
На заметкуВ данном разделе рассматриваются стандартные файлы протоколов Apache, записью информации в которые управляет директива CustomLog. Сервер Apache также поддерживает дополнительные файлы протоколов, в которые помещается информация об ошибках, сообщения, генерируемые в процессе загрузки, и другие данные.
Формат файла протокола Apache
Данные могут записываться в файл протокола Apache в различных форматах; конкретный формат задается с помощью директивы CustomLog. В данном разделе описывается формат combined, который объединяет в одном файле различные данные. Запись в формате combined выглядит следующим образом:
192.168.1.1 - - [06/Nov/2002:16:45:49 -0500] "GET /index.html
HTTP/1.0" 200 8597 "-" "Mozilla (X11; I; Linux 2.0.32 i586)"
Эта запись включает следующие компоненты.
• Доменное имя или IP-адрес клиента. Первое поле записи содержит адрес или имя клиента, от которого был получен запрос.
• Идентификатор пользователя. Следующие два поля содержат имя пользователя, инициировавшего запрос. В первом из этих полей содержится имя для сервера identd, а во втором — имя для HTTP-аутентификации. (В данном примере в этих полях указаны дефисы, указывающие на то, что сведения о пользователе не доступны.)
• Дата и время. Apache записывает дату и время передачи запроса. В этой записи содержится локальное время с указанием временного пояса (в данном примере -0500).
• HTTP-запрос. HTTP-запрос включает команду, переданную клиентом (GET), запрашиваемый документ (/index.html) и версию протокола HTML (1.0). С помощью этой информации можно определить, какие из документов, расположенных на вашем Web-узле, наиболее популярны среди пользователей.
• Код ответа. В ответ Apache включает цифровой код, информирующий клиентскую программу о результатах обработки запроса. В данном примере указан код ответа 200, это означает, что обработка запроса окончилась успешно. Коды, начинающиеся с цифры 3, означают перенаправление запроса, а коды, начинающиеся с цифры 4 или 5, свидетельствуют об ошибке.
• Размер объекта. Число 8597 соответствует размеру ресурса, который Apache передал клиенту в ответ на запрос. При вычислении размера объекта заголовок ответа не учитывается.
• Документ, ссылающийся на текущий ресурс. Если пользователь запросил новый ресурс щелчком на гипертекстовой ссылке в составе HTML-документа, броузер передает серверу в составе запроса URL этого документа. Полученные сведения Apache записывает в файл протокола. В приведенном выше примере в данном поле содержится дефис, означающий, что документ, ссылающийся на запрашиваемый ресурс, не определен. Это может быть в случае, если пользователь непосредственно ввел URL ресурса в поле адреса броузера.
• Клиентская программа. Последнее поле записи содержит информацию о броузере, а также сведения об операционной системе, в которой он выполняется. (Заметьте, что броузер Netscape сообщает о себе с помощью идентификатора Mozilla.) На сведения, указанные в этом поле, нельзя полагаться, поскольку клиентскую программу можно настроить так, чтобы она сообщала о себе неверные данные. Кроме того, сведения о броузере могут быть заменены proxy-сервером.
Информация, содержащаяся в файле протокола, позволяет сделать вывод о популярности ваших документов среди пользователей, о том, из каких сетей пользователи наиболее часто обращаются к вашему серверу, и получить другие необходимые сведения. Как уже было сказано ранее, анализ данных в файле протокола представляет собой достаточно сложную задачу, для решения которой часто используются специализированные инструменты.
На заметкуВ большинстве версий Linux инструмент cron по умолчанию настраивается так, чтобы через определенные промежутки времени осуществлялась ротация файлов протоколов (переименование файлов протоколов и удаление с диска старых файлов). Соответствующая задача для cron обычно описывается в каталоге /etc/cron.d или /etc/cron.interval. Если в вашей системе ротация файлов не выполняется, вам надо создать соответствующую задачу в противном случае размеры файлов станут слишком большими, а это может привести к переполнению диска.