VITRAGE: Теория
· Компиляция и установка
· Идеология VITRAGE
· Оптимизация HTML
· Создание виртуальных хостов
· Создание структуры доменов
· Ваш собственный язык гипертекстовой разметки
 
Практика
· Немного о стилях парсинга
· Примеры использования
· Работающие сайты
· Хостинги
· Вопросы и ответы
· Задать вопрос
· E-mail
 
О модуле
· Что такое VITRAGE
· История модуля
· Загрузить модуль
· Документация целиком
· Загрузить документацию в формате MS Word
· Слово автора
· English version
 
Технология VITRAGE
Один из витражей города Иркутска
Исходный код
· VHTML-код этой страницы (в новом окне)
· VHTML-код файла vitrage (в новом окне)
 
· Применение 1. Оптимизация HTML

Даже если вы не собираетесь расширять HTML при помощи VITRAGE, "прозрачная" для пользователей оптимизация HTML-страниц "на лету" стоит того, чтобы начать использовать данный модуль.

Обычно хорошая HTML-верстка строго структурирована и выглядит следующим образом:

<html>
 
<head>
<title>Заголовок страницы</title>
</head>
 
<body>
<p>Страница,    созданная   для   примера
<ul>
<li>Пример   1
<li>Пример    2
<li>Пример   3
</ul>
</body>
 
</html>

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

Кроме того, если верстка выполняется в каком-либо редакторе, работающем под Windows, каждая строка исходного текста HTML с большой долей вероятности будет оканчиваться не одним специальным символом, имеющим код 0A, а двумя - 0D и 0A. Это также излишне "утяжелит" страницу.

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

Ну и, разумеется, чаще всего лишней информацией в HTML-файлах являются "пустые строки", то есть строки, состоящие только из спецсимвола с кодом 0A (или двух спецсимволов - 0D и 0A).

Модуль VITRAGE внимательно отследит все подобные ситуации и соответствующим образом оптимизирует HTML-файл "на лету", непосредственно перед "выдачей" пользователю, при этом HTML-верстальщику не потребуется ни коим образом изменять сами тексты файлов. Таким образом, верстальщик может сохранить свои привычки, касающиеся структурирования HTML-текста и используемого программного обеспечения, а пользователь будет получать оптимизированные для загрузки файлы.

Для управления оптимизацией используются два ключевых слова: VGStripSpaces и VGStripLines.

Ключевое слово VGStripSpaces отвечает за оптимизацию пробелов и символов табуляции. При этом возможны три значения этого параметра - "Off" (по умолчанию; никакой оптимизации не производится), "On" (оптимизируются только те последовательности пробелов и символов табуляции, которые находятся в начале строк) и "Full" (оптимизируются все последовательности пробелов и символов табуляции).

Ключевое слово VGStripLines обеспечивает оптимизацию завершающих строку символов и удаление пустых строк. Если значение этого параметра равно "Off" (по умолчанию), то оптимизация не производится. Если значение параметра - "On", все последовательности символов с кодами 0D и 0A, завершающих строки, преобразуются в один символ с кодом 0A. И, наконец, если присвоить данному параметру значение "Full", то, кроме замены завершающих строки символов, VITRAGE удалит из передаваемого пользователю HTML-кода все пустые строки.

Примеры использования данных ключевых слов:

VGStripSpaces Off
VGStripSpaces Full
VGStripSpaces On
VGStripLines Full
VGStripLines Off
VGStripLines On

При полностью включенной оптимизации ("VGStripSpaces Full" и "VGStripLines Full") приведенный выше пример будет загружен пользователем в следующем виде (разумеется, и в первоначальном, и в этом виде страница отображается браузером совершенно одинаково):

<html>
<head>
<title>Заголовок страницы</title>
</head>
<body>
<p>Страница, созданная для примера
<ul>
<li>Пример 1
<li>Пример 2
<li>Пример 3
</ul>
</body>
</html>

Заметим дополнительно, что стоит с особой внимательностью относиться к оптимизации тех HTML-страниц, для которых важно "оригинальное" форматирование. Примером таких страниц могут быть страницы, при форматировании которых использован тэг <pre>. Для каталогов, содержащих подобные страницы, оптимизацию (по крайней мере, оптимизацию пробелов и символов табуляции) рекомендуется отключать.

Если ваш веб-сервер Apache "обслуживает" несколько виртуальных серверов, то, возможно, вам покажется удачной идея уставить значения по умолчанию (в httpd.conf) для VGStripSpaces и VGStripLines, равные "Off", а затем включать оптимизацию для каждого виртуального сервера индивидуально по мере необходимости.

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

Отвечая на часто задаваемый вопрос о том, можно ли оптимизировать страницы, сгенерированные иными средствами, например, PHP, Perl или SSI, автор замечает, что "штатный" способ осуществить такое действие ему неизвестен. Более того, в ближайшее время автор не планирует нахождение, обеспечение и описание такой возможности, потому что идеологически VITRAGE должен не дополнять перечисленные выше технологии, а полностью заменять их для определенного рода задач. Если вами, однако, найден способ решения поставленной задачи и вы можете его подробно описать, свяжитесь с автором модуля VITRAGE, возможно, ваше решение будет включено в данное руководство.